0

テキストフィールドタイプに郵便番号を保存するsolrスキーマがあります。

しかし、solr は、郵便番号全体を検索した場合にのみ結果を取得します。郵便番号が完全でない場合、結果は得られません。

例:

12345 と入力すると、solr は郵便番号 12345 を取得します。

1234 と入力します。solr は結果を取得しません。

この問題を解決する方法を知っている人はいますか?

そのフィールドまたはその他でトークナイザーを使用する必要がありますか?

THX ヘルプ

4

1 に答える 1

3

EdgeNGramFilterFactoryフィルターを確認する

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

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

12345生成する ->12, 123, 1234, 12345 .....

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

于 2013-07-03T08:56:18.497 に答える