2

我目前正在我的 Solr 架构中的文本字段上测试构面搜索,并注意到我在我的 stopwords.txt 文件中获得了大量结果。

我的架构当前使用文本数据类型的默认配置,并且我的印象是,如果“solr.StopFilterFactory”过滤器正在使用,则停用词没有被索引。

我希望有人能对此有所了解,或者a)帮助我理解为什么停用词不适用于构面以及如何使用它,或者b)为我指明正确的方向,这样我的构面查询就不会返回来自停用词的词。

谢谢!

4

1 回答 1

1

停用词确实适用于构面。换句话说:如果您请求已使用停用词索引的字段的构面,则不应在构面中看到任何停用词。

我的猜测是您没有按照您的想法进行索引:您的 schema.xml 是错误的,或者您在与您想象的不同的字段中建立索引。

我在这个领域使用方面并且效果很好:

<fieldType name="text_ws_stop" class="solr.TextField" positionIncrementGap="100">
  <analyzer>
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
            <filter class="solr.StopFilterFactory"
    ignoreCase="true"
            words="stopwords_spanish.txt"
            enablePositionIncrements="true"
    />
  </analyzer>
</fieldType>

...

<field name="phrases" type="text_ws_stop" indexed="true" stored="true" required="false"/>
于 2011-05-23T21:48:43.833 回答