如果我们在stopwords.txt文件中添加stop-words而不重新索引文档,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>
答案 0 :(得分:2)
考虑查询q =印度钢铁侠
如果您在查询分析器中使用停用词,并且在停用词列表中包含单词of
。 solr会将令牌分开,如下所示
Iron, man, of, India
由于您使用了停用词过滤器,它将丢弃单词"of"
,它将搜索包含令牌(铁,男,印度)的文档。结果文件分数取决于各种因素,例如doc中存在多少令牌,它出现的次数(tf-IDF得分)
在索引编制期间使用停用词时也是如此。 它将索引标记(铁,人,印度)它不会索引(of)。