search - 在 Solr 中搜索确切短语时,是否可以包含停用词?

标签 search solr

我想排除停用词,除非搜索词在双引号内

例如。 “就像那个”也应该搜索“那个”。

这可能吗?

最佳答案

这取决于您查询的字段的配置。

如果索引分析器的配置包含一个 StopFilterFactory,那么这些停用词根本就不会被索引,因此您之后无法查询它们。但是由于 Solr 保留了索引中术语的位置,您可以指示它增加剩余术语的位置值,以反射(reflect)原来中间还有其他术语的事实。

这里的“enablePositionIncrements”是实现这一目标的关键:

<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true"/>

如果查询分析器还使用相同的设置配置了 StopFilterFactory,则您的查询应该按预期工作。

有关详细信息,请参阅此链接:
http://www.lucidimagination.com/search/document/CDRG_ch05_5.6.18

关于search - 在 Solr 中搜索确切短语时,是否可以包含停用词?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2681393/

相关文章:

java - 当我在 SearchView 中输入内容时,列表的大小没有增加?

java - 异常处理模板 "searchresult"

hadoop - Hadoop + Nutch 1.15 + Solr Cloud 7.3.1索引无结果

search - 搜索引擎忽略省略号

python - 谷歌搜索排名和趋势API

solr - 将 Solr-5.2.1 与从 Nutch 抓取的数据集成?

ruby - 是否为 :include inside a sunspot/solr searchable method do anything?

solr - 使用 Solr Cloud 的分片/副本数量的最佳实践

ios - 双击需要用搜索栏选择 TableView 项目

C 如何检查并指向 int 数字中的 '0'