在 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/