簡體   English   中英

Solr:停用詞是否必須重新索引?

[英]Solr: Is re-indexing is must for stop-words?

如果我們在stopwords.txt文件中添加停用詞而不重新索引文檔,Solr 4.10.3會從查詢短語中消除停用詞嗎? 還是文件必須重新索引?

因為我添加了停用詞(無需重新索引文檔),而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>

考慮查詢q =印度的鐵人

如果您在查詢分析器中使用停用詞of並且說停用詞列表中包含詞。 solr將如下分離令牌

Iron, man, of, India 

由於您使用了停用詞過濾器,因此它將丟棄單詞"of" ,並將搜索帶有令牌的文檔(Iron,man,India)。 結果文檔的分數取決於各種因素,例如文檔中存在多少個令牌,出現的時間(tf-IDF分數)

在索引過程中使用停用詞時,情況相同。 它將對令牌(鐵,人,印度)進行索引,而不對(of)進行索引。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM