根据文档频率消除查询字词

时间:2015-02-24 11:38:57

标签: elasticsearch lucene

我们如何配置弹性搜索以根据文档频率阈值消除特定于字段的查询字词?

例如:for query" title:test AND title:west AND desc:world AND desc:hello" 假设文档频率阈值设置为10,查询中的几个术语即desc:world和title:test的文档频率大于10,即查询应更改为" title:west AND desc:hello"

一种方法是查询每个术语并根据检索到的文档计数消除超出给定文档频率阈值的这些术语,但这不会有效,因为它会大大增加搜索次数!

1 个答案:

答案 0 :(得分:0)

不确定如何在elasticsearch中做到这一点,但Lucene提供了QueryAutoStopWordAnalyzer,它做了非常接近的事情。

查看http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/query/QueryAutoStopWordAnalyzer.html