私はカスタムフィールドタイプを持っている:NGRAMとEdgeNGramフィルターは/検索
<fieldType class="solr.TextField" name="text_pre" positionIncrementGap="100">
<analyzer type="index">
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.NGramFilterFactory" minGramSize="2" maxGramSize="15"/>
</analyzer>
<analyzer type="query">
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>
アドレスのデータベーステーブルインデックス例えば私のSOLRインスタンスへのテキストとして完全なアドレス、つまり:
123 W Washington, Some Place, Some State 12345
また、ユーザーが現在入力している値に最も近い検索結果を返す先読み入力ボックス。
私の問題は、上記の例のようなアドレスでは、 "W"または "West"または "W"と入力することです。カスタムフィールドの種類に基づいて上記のアドレスを返しません。
これを達成するためにフィールドタイプのフィルタをカスタマイズすることが可能かどうかはわかりません。私は "西"または "w"をサポートする必要はありません。 "123 W Was"とタイプし、上記のサンプルアドレスを取得することで、適切な結果を得ることができる必要があります。
返信いただきありがとうございます。私はこれを今チェックアウトし、それがどうなっているのかを見て、それが私の問題を修正すればチェックマークをつけます:) –
それはトリックでした! –