次のクエリを使用して、名前フィールドのあいまい検索を試みています。
q=(name:'smiht'~0.25) AND (name:'will'~0.25)
返されたレコードのようなクエリを実行すると、、、のようなWill Smith
名前William D Hamilton DC
が付けられますWilliam I Smith JR
。
以下のようにクエリの最後に「dc」などの単語を追加すると、結果が返されません。「William D Hamilton DC」という名前のすべてのレコードが表示されることを期待しています。solrファジークエリは短い単語では機能しませんか? 誰か助けてくれませんか?
q=(name:'smiht'~0.25) AND (name:'will'~0.25) AND (name:'dc'~0.25)
フィールド名のフィールドタイプは以下の通りです。
<!-- USING Exact Text with Minimum filters-->
<fieldType name="text_exact" class="solr.TextField" omitNorms="false">
<analyzer type="index">
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.StandardFilterFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
<analyzer type="query">
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.StandardFilterFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>