テキストフィールドタイプに郵便番号を保存するsolrスキーマがあります。
しかし、solr は、郵便番号全体を検索した場合にのみ結果を取得します。郵便番号が完全でない場合、結果は得られません。
例:
12345 と入力すると、solr は郵便番号 12345 を取得します。
1234 と入力します。solr は結果を取得しません。
この問題を解決する方法を知っている人はいますか?
そのフィールドまたはその他でトークナイザーを使用する必要がありますか?
THX ヘルプ
テキストフィールドタイプに郵便番号を保存するsolrスキーマがあります。
しかし、solr は、郵便番号全体を検索した場合にのみ結果を取得します。郵便番号が完全でない場合、結果は得られません。
例:
12345 と入力すると、solr は郵便番号 12345 を取得します。
1234 と入力します。solr は結果を取得しません。
この問題を解決する方法を知っている人はいますか?
そのフィールドまたはその他でトークナイザーを使用する必要がありますか?
THX ヘルプ
EdgeNGramFilterFactoryフィルターを確認する
<filter class="solr.EdgeNGramFilterFactory" minGramSize="2" maxGramSize="25" side="front"/>
EdgeNGramFilterFactory は、トークンのエッジ グラムを生成します。
12345
生成する ->12, 123, 1234, 12345 .....
これをインデックス時に使用して、トークンを生成できます。したがって、 を検索すると1234
、 を含むドキュメント12345
が一致します