「JOHN JACKON」、「JAKE SMITH」、「JOHNATAN JAMESON」などの値を持つ solr - type string の列を取得しました。
J を入力すると、J が他のレコードよりも多く含まれているこれらのレコードを最初に取得するときに、solr に通知できますか?
「JOHN JACKON」、「JAKE SMITH」、「JOHNATAN JAMESON」などの値を持つ solr - type string の列を取得しました。
J を入力すると、J が他のレコードよりも多く含まれているこれらのレコードを最初に取得するときに、solr に通知できますか?
solr.EdgeNGramFilterFactory を使用できます。minGramSize を 1 に設定できます。
この FilterFactory は、クエリ時にインデックス内の特定の用語のプレフィックス部分文字列 (または side="back" の場合はサフィックス部分文字列) を照合するのに非常に役立ちます。
参照: http://wiki.apache.org/solr/AnalyzersTokenizersTokenFilters#solr.EdgeNGramFilterFactory
上記の例では、
JOHN JACKSON の場合、以下が格納されます。
J、JO、JOH、JOHN、J、JA、JAC、JACK、JACKS、JACKSON
JAKE SMITHの場合:
j、JA、JAK、JAKE、S、SM、SMI、SMIT、SMITH
誰かが J を検索すると、J がインデックスに 2 回含まれているため、最初のドキュメント (ジョン ジャクソン) のスコアが高くなります。