次のようないくつかの文字列があるとします
sphinxQL> select * from rttest where match('beach');
+------+--------+---------------------------------------------+
| id | weight | value |
+------+--------+---------------------------------------------+
| 12 | 1576 | looking down on the beach from Beach Street |
| 10 | 1555 | This is a beach |
| 11 | 1555 | photo of Beach Street |
+------+--------+---------------------------------------------+
"beach" を含むが、"Beach Street" フレーズの一部である場合に一致しないドキュメントをどのように一致させることができますか。
この種の作品:
sphinxQL> select * from rttest where match('beach -"beach street"');
+------+--------+-----------------+
| id | weight | value |
+------+--------+-----------------+
| 10 | 1527 | This is a beach |
+------+--------+-----------------+
しかし理想的には、ドキュメント 12 も取得する必要があります。独自のビーチもあります。
ビーチストリートからビーチを見下ろす
フレーズを除外するだけでは、単一のキーワードだけに一致するかどうかに関係なく、そのフレーズを含むすべてのドキュメントが除外されます。
「NOT NEAR」のようなものが理想的です。
sphinxQL> select * from rttest where match('beach -NEAR/1 street');
ERROR 1064 (42000): index rttest: syntax error, unexpected TOK_NEAR near 'NEAR/1 street'
しかし、それがないので、他に方法はありますか?(後処理は別として;)