2017-02-01 9 views
0

文書を再索引付けせずにstopwords.txtファイルにストップワードを追加すると、Solr 4.10.3はクエリーフレーズからストップワードを削除しますか?または、文書の再索引付けが必要ですか?Solr:ストップワードの再索引付けは必須ですか?

私はストップワードを追加していないので(ドキュメントのインデックスを再作成せずに)、ストールワードを削除することなくsolrが結果を返します。あなたは、クエリアナライザでストップワードを使用して単語を言う場合stopwords.txtファイル内

リストを追加した後、私はSolrのを再起動しました

<fieldType name="text_general" class="solr.TextField" positionIncrementGap="100"> 
    <analyzer type="index"> 
<similarity class="solr.DFRSimilarityFactory"> 
     <str name="basicModel">I(F)</str> 
     <str name="afterEffect">B</str> 
     <str name="normalization">H2</str> 
    </similarity> 
    <tokenizer class="solr.StandardTokenizerFactory"/> 
    <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true" /> 
    <!-- in this example, we will only use synonyms at query time 
       <filter class="solr.SynonymFilterFactory" synonyms="index_synonyms.txt" ignoreCase="true" expand="false"/> 
    --> 
    <filter class="solr.LowerCaseFilterFactory"/> 
    </analyzer> 
    <analyzer type="query"> 
    <tokenizer class="solr.StandardTokenizerFactory"/> 
    <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true" /> 
    <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/> 
    <filter class="solr.LowerCaseFilterFactory"/> 
    </analyzer> 
</fieldType> 
+0

フィールドコンテンツが格納されているので、なぜデータ全体が取得されるのですか。ストップワードリストを使用すると、ストップワードはデータから削除されず、インデックスストップワードは失われます。 – vinod

+0

私はクエリアナライザはクエリ文字列からキーワードを削除すると思いますので、ストップワードフィルタが存在するのはなぜですか? – MTA

答えて

2

はインド

のクエリq =アイアンマンを考えるofストップワードリストに含まれています。 Solrには、あなたがストップワードフィルタを使用しているので、それは言葉"of"を破棄し、それがトークン(アイアン、男性、インド)を持っているドキュメントを検索します

Iron, man, of, India 

以下のようにトークンを分離します。結果ドキュメントドコア内に存在するトークンの数、その存在時間(tf-IDFスコア)などのさまざまな要因によってスコアが異なります。

インデックス作成中にストップワードを使用する場合も同じです。 トークン(Iron、man、India)はインデックス化されません(of)。

関連する問題