2016-10-19 2 views
3

solr.StopFilterFactoryでインデックス分析を設定しました。したがって、ストップワードは索引付けされません。Solr - SeachHandlerのSeachComponentを最小一致= 100%で構成し、検索クエリからストップワードを無視します。

我々はストップワードの検索クエリ用語

<analyzer type="query"> 
    <tokenizer class="solr.StandardTokenizerFactory"/>   
    <filter class="solr.StopFilterFactory" 
      ignoreCase="true" 
      words="lang/stopwords_en.txt" 
      enablePositionIncrements="true" 
      /> 
    ... ... 
solrconfig.xmlで

から無視されたかったよう我々はまた、私たちのクエリアナライザがsolr.StopFilterFactoryで設定した、セレクトSearchHandlerはSearchComponentパラメータを使用するように設定され最小一致= 100%

<requestHandler name="/select" class="solr.SearchHandler"> 
    <lst name="defaults"> 
     <str name="echoParams">explicit</str>   
     <int name="rows">10</int> 
     <str name="mm">100%</str> 
     <str name="q.alt">*:*</str> 
    ... ... 

この結果、「rite in th」のような結果が返されない場合があります。 e rain "と呼ぶ。上記の設定により、 "in"と "the"は索引付けされませんが、問合せアナライザでストップワードを削除するように構成されていても、最小一致では必須です。

これを達成するための設定はありますか?

+0

mm.autorelax paramが以下のようにhttps://cwiki.apache.org/confluence/display/solr/The+Extended+DisMax+Query+Parser –

+1

に役立つかどうかを確認します。mm.autorelaxはsolr> = 6 –

答えて

2

このような状況では、クエリに含まれる異なるfieldTypesを考慮して、同じ停止フィルタで定義されたタイプsolr.TextFieldとその他のフィールドを区別する必要があります。関係するさまざまなタイプは、qfパラメーターで要求された照会フィールドによって異なります。

質問にストップワードが含まれていて、フィールドの2つのカテゴリがqfで混在している場合は、「ストップフィルタにかけられていない」フィールドのストップワードと一致するように常に必要な句が残るため問題が発生しますフィールドまたはテキストフィールドを停止フィルタなし)に設定します(下位にmmを設定しない限り)。 edismaxパーサーの

mm.autoRelax paramがこの間違った動作を処理することを目的とSolrの6.0(SOLR-3085)以降で使用可能です:

trueの場合、必要な節の数は(最小一致する必要があります) が自動的に緩和されますいくつかのqfフィールドからすべてのqfフィールドから節が削除された場合(例えば、ストップワード フィルタ)。 qfフィールド間のストップワード除去が不均一な のためにクエリがゼロヒットを返すことがある場合は、このパラメータを 回避策として使用してください。

あなたはmm.autoRelaxを使用することはできませんし、限り、あなたはmm=100%を必要として、あなたは一貫性のある動作を保証するために同じストップフィルター(同じのparamsと辞書)を使用するだけのテキストフィールドでqfを設定する必要があります場合はクエリにストップワードが含まれている場合

+1

'qf'の異なるフィールド型が私たちの問題でした。 1つのフィールドは文字列(停止フィルタなし)で、もう1つは 'text_en_splitting_tight'(stopfilterを持っていましたが、' enablePositionIncrements = true'がありません)でした。すべてのフィールドのフィールドタイプを同じ設定のstopfilterを持つタイプにすることで問題が解決されました。 –

関連する問題