1

このhttps://gist.github.com/118d17e93267123f4870のような単純なsolr構成があります

それによると、タイトルThe Secret of Rhonda Byrne or the Law of Attraction in the Bibleを id で索引付けしています。

次に、Solr 分析ツールに移動して、このフィールドでどのようにインデックスが作成されるかを確認します。したがって、指定された値を持つそのフィールドタイプが次のようなものを返す場合のインデックス分析。

secret rhonda byrne law attraction bible

念のために、そのタイトルの id フィールドを照会して、そこにあるかどうかを確認しています。ポジティブ。

しかし、分析ツールの結果でこのインデックスをクエリすると、結果が得られません。私のクエリは次のようなものです。

select?qf=title_stm&q="Secret+Rhonda+Byrne+Law+Attraction+Bible"&fl=id,title&defType=dismax

コメントにあるように、そのクエリのデバッグ出力はこちらです。 https://gist.github.com/9b88fd6b5f043c90d539

4

1 に答える 1

2

問題は次のとおりです: -

<filter class="solr.StopFilterFactory"
        ignoreCase="true"
        words="stopwords.txt"
        enablePositionIncrements="true"
        />

enablePositionIncrements は、ストップワードに遭遇するたびに位置をインクリメントします。したがって、完全一致のフレーズを実行すると、インデックス付きのタイトルの位置が互いに隣り合っていないため、これは一致しません。

詳しくはこちらをご覧ください。

フレーズ一致を実行できるようにするには、位置の増分を無効にする必要があります。

<filter class="solr.StopFilterFactory"
        ignoreCase="true"
        words="stopwords.txt"
        enablePositionIncrements="false"
        />
于 2012-09-13T13:43:54.900 に答える