elasticsearch - Elasticsearch Java API 中的过滤查询

标签 elasticsearch

在 Elasticsearch Java API 中创建过滤查询时,我有点困惑。 SearchRequestBuilder 类有 setPostFilter 方法,这个方法的 javadoc 清楚的写着 Filter 会在 Query 执行后应用。

但是,没有 setFilter 方法或其他允许在之前应用过滤器的方法
查询被执行。如何在这里创建过滤查询(基本上在执行查询之前应用过滤器)?我错过了什么吗?

最佳答案

 FilteredQueryBuilder builder = 
 QueryBuilders.filteredQuery(QueryBuilders.termQuery("test", 
 "test"),FilterBuilders.termFilter("test","test"));

它将构建过滤查询...对于 filteredQuery,第一个参数是查询,第二个参数是过滤器。

更新:过滤查询在 elasticsearch 2.0+ 中已贬值。 refer

希望对您有所帮助...!

关于elasticsearch - Elasticsearch Java API 中的过滤查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23599682/

相关文章:

.net - Elasticsearch和SQL Server进行全文搜索?

elasticsearch - 如何根据另一个索引/类型的聚合进行排序

Elasticsearch 无痛查询以将日期字段值与用户输入的日期值进行比较

Elasticsearch 6 : Rejecting mapping update as the final mapping would have more than 1 type

javascript - 使用elastic.js中止elasticsearch请求

elasticsearch - 通过 Elasticsearch 从具有相同值的字段中获取所有文档

elasticsearch - 使用 Elastic Search API 中的 search_after 参数结束搜索结果

node.js - 如何使新的elasticsearch node.js客户端仅在promise中返回主体?

elasticsearch - 在Elasticsearch中将数字用作类型

elasticsearch - 如何在must子句下使用范围和匹配进行查询?