2

フレーズクエリに問題があります。

クエリ入力:「多くの結果へ」

完全に一致するフレーズを含むテキストのみが必要です。

  1. 多くの結果への単語単語単語単語単語単語」

  2. 多くの結果の単語への単語の単語」

しかし、問題は次のとおりです。

  1. 多くの結果への単語単語単語単語単語単語」

  2. 多くの結果の単語への単語の単語」

  3. 「 wordmanyresultsword 」-結果にこれを含めたくない

スキーマ:

<fieldType name="text" class="solr.TextField" termVectors="true" termPositions="true" termOffsets="true" autoGeneratePhraseQueries="true">
<analyzer type="index">
    <tokenizer class="solr.StandardTokenizerFactory" />
    <filter class="solr.TrimFilterFactory" />
    <filter class="solr.LowerCaseFilterFactory" />
    <filter class="solr.ReversedWildcardFilterFactory" />
</analyzer>
<analyzer type="query">
    <tokenizer class="solr.StandardTokenizerFactory" />
    <filter class="solr.TrimFilterFactory" />
    <filter class="solr.LowerCaseFilterFactory" />
</analyzer>

手伝ってくれてありがとう

4

1 に答える 1

4

同じ順序で完全に一致するフレーズが必要な場合は、「to many results」などのフレーズでクエリを渡す必要があります。
これにより、完全一致とすべての単語が一緒になった結果が返されます。

クエリが句クエリではなく、存在するすべての単語のみが必要な場合、検索はドキュメント内のいくつかの位置 (slop の定義によって異なります) 内の単語を検索し、デフォルトの検索演算子は OR です。

dismaxを使用している場合、その制御はqfのクエリ スロップMinimum match (mm)によって制御され、結果として返されるためにドキュメントに存在する必要がある用語の数です。

標準のリクエスト ハンドラを使用している場合は、クエリ パーサーのデフォルト オペレータを確認する必要があります。

http://wiki.apache.org/solr/SchemaXml#Default_query_parser_operator

于 2012-02-22T20:54:48.163 に答える