4

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
4

1 に答える 1

8

http://wiki.apache.org/solr/AnalyzersTokenizersTokenFilters#Analyzersの言及-

ワイルドカードおよびあいまい検索では、検索語に対してテキスト分析は実行されません。

したがって、検索クエリはクエリ時間中に分析されません。したがって、索引付けされた用語は、検索対象の用語とは異なります。

索引付けされた用語はcherriであるため、検索はcherry*どのドキュメントとも一致しません。

于 2012-02-23T12:39:02.580 に答える