Elasticsearch Java API中的筛选查询 [英] Filtered Query in Elasticsearch Java API
问题描述
SearchRequestBuilder类具有setPostFilter方法,该方法的javadoc清楚地表示在执行Query之后将应用过滤器。
但是,没有setFilter方法或一些允许在执行
查询之前应用过滤器的其他方法。如何创建过滤的Query(这在执行查询之前基本上应用过滤器)?我是否缺少某些东西?
FilteredQueryBuilder builder =
QueryBuilders.filteredQuery QueryBuilders.termQuery(test,
test),FilterBuilders.termFilter(test,test));
它将构建过滤的查询...对filtersQuery,第一个参数是query,第二个参数是Filter 。
更新:已过滤的查询在弹性搜索2.0 +中折旧。参考
希望它有帮助..!
I am little bit confused while creating Filtered query in Elasticsearch Java API. SearchRequestBuilder class has setPostFilter method, javadoc of this method clearly says that filter will be applied after Query is executed.
However, there is no setFilter method Or some other method which will allow to apply filter before
query is executed. How do I create filtered Query(which basically applies filter before query is executed) here? Am I missing something?
FilteredQueryBuilder builder =
QueryBuilders.filteredQuery(QueryBuilders.termQuery("test",
"test"),FilterBuilders.termFilter("test","test"));
It will build the filtered query...To filteredQuery, first argument is query and second arguments is Filter.
Update: Filtered query is depreciated in elasticsearch 2.0+.refer
Hope it helps..!
这篇关于Elasticsearch Java API中的筛选查询的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!