0

次の文字列と他のいくつかの文字列にインデックスを付けました。すべての言葉がくっついています。

ひもは、他の物を結んだり、縛ったり、吊るしたりするために使用される柔軟なロープまたはより糸です。

ウィキペディアからの一文です。

ひもは、他の物を結ぶ、縛る、または吊るすために使用される柔軟なロープまたはより糸です。

SphinxQL を使用していくつかの単語を検索します。例えば

SELECT * FROM sentences WHERE MATCH('piece rope bind');

これにより、結果として上記の文字列が返されるはずですが、0 行が返されます。

単語を検索するのではなく、文字列内の単語を単純に照合するには、どのようにクエリを作成すればよいでしょうか?

私はすでに次のようなランカーオプションで遊んだことがあります

SELECT * FROM sentences WHERE MATCH('piece rope bind') OPTION ranker=matchany';

しかし、成功しませんでした。

どんな助けでも大歓迎です!

4

1 に答える 1

0

- を使用min_infix_lenして中置検索を有効にしますhttp://sphinxsearch.com/docs/current.html#conf-min-infix-len

あなたはおそらくしたいですenable_star = 0

または、WordBreaker を使用して、インデックスを作成する前に長い文字列を再分割することもできます:) http://sphinxsearch.com/blog/2013/01/29/a-new-tool-in-the-trunk-wordbreaker/

于 2013-02-14T16:05:26.680 に答える