1

ドキュメントのインデックスを作成し、いくつかのフィールドに一連のフィルターを適用したいと考えています。これは、schema.xml でこれらのフィールドの 1 つを定義する方法です。

<field name="features" type="text_en" indexed="true" stored="true" multiValued="true"/>

そして、私のフィールドタイプは

<fieldType name="text_en" class="solr.TextField" positionIncrementGap="100">
  <analyzer type="index">
    <tokenizer class="solr.StandardTokenizerFactory"/>
    <filter class="solr.StopFilterFactory"
            ignoreCase="true"
            words="lang/stopwords_en.txt"
            enablePositionIncrements="true"
            />
    <filter class="solr.LowerCaseFilterFactory"/>
    <filter class="solr.EnglishPossessiveFilterFactory"/>
    <filter class="solr.KeywordMarkerFilterFactory" protected="protwords.txt"/>
    <filter class="solr.PorterStemFilterFactory"/>
  </analyzer>
  <analyzer type="query">
    <tokenizer class="solr.StandardTokenizerFactory"/>
    <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/>
    <filter class="solr.StopFilterFactory"
            ignoreCase="true"
            words="lang/stopwords_en.txt"
            enablePositionIncrements="true"
            />
    <filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.EnglishPossessiveFilterFactory"/>
    <filter class="solr.KeywordMarkerFilterFactory" protected="protwords.txt"/>
    <filter class="solr.PorterStemFilterFactory"/>
  </analyzer>
</fieldType>

フィルターでストップワードと語幹語を削除して、より多くの一致を取得するようにします (たとえば、実行中の一致を実行します)。フィルターは [分析] タブで問題なく機能しますが、クエリ検索に関しては、期待した結果が得られません。主に、フィールド "text_en" で定義したものを見つけることができません。

ここで何が欠けていますか?

4

0 に答える 0