Solrインデックスに次のコンテンツがあります:
west indian cherry
タイプのファイルtext_en
(フィールドの定義については以下を参照)。
一致して検索するcherr*
と見つかります。また、ドキュメント内の一致する単語を
検索します。
しかし、検索は一致しません。cherri*
cherry*
私はこれを疑っPorterStemFilterFactory
ていますが、理由はわかりません(クエリアナライザーはインデックスアナライザーと同じです)。
サンプルクエリ
/solr/select?defType=edismax&q=cherry*
solrconfig.xml
...
<fieldType name="text_en" class="solr.TextField" positionIncrementGap="100">
<analyzer type="index">
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.EnglishPossessiveFilterFactory"/>
<filter class="solr.PorterStemFilterFactory"/>
</analyzer>
<analyzer type="query">
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.EnglishPossessiveFilterFactory"/>
<filter class="solr.PorterStemFilterFactory"/>
</analyzer>
</fieldType>
...
フィールド分析
索引
org.apache.solr.analysis.StandardTokenizerFactory: cherry
org.apache.solr.analysis.LowerCaseFilterFactory: cherry
org.apache.solr.analysis.EnglishPossessiveFilterFactory: cherry
org.apache.solr.analysis.PorterStemFilterFactory: cherri <-- note the change from cherry to cherri
クエリ
org.apache.solr.analysis.StandardTokenizerFactory: cherry
org.apache.solr.analysis.LowerCaseFilterFactory: cherry
org.apache.solr.analysis.EnglishPossessiveFilterFactory: cherry
org.apache.solr.analysis.PorterStemFilterFactory: cherri