3

dismaxで単語の一部を検索するにはどうすればよいですか? たとえば、クエリが「wor」の場合、「wor d」「wor ld」「ad wor ds」などのフィールド値で結果を取得したい。出来ますか?

4

1 に答える 1

2

EdgeNGramFilterFactoryフィルターを確認する

<filter class="solr.EdgeNGramFilterFactory" minGramSize="3" maxGramSize="25" side="front"/>

EdgeNGramFilterFactory は、トークンのエッジ グラムを生成します。

word生成する ->wo, wor, word .....

これをインデックス時に使用して、トークンを生成できます。したがって、 を検索するとwor、 を含むドキュメントwordが一致します

ただし、単語の途中で検索する場合は、NGramFilterFactoryを確認してください。

于 2013-07-12T04:32:08.300 に答える