2014-12-03 165 views
0

我有以下用例场景。我正在做一些查询条件的搜索,通过聚合一些字段而不用最初应用任何过滤器。现在我们假设结果是10万,我有A类50,000个,B类有50,000个。在UI中,如果我单击A类按钮,我想过滤结果并显示属于类A的结果。是可能不需要重新搜索。搜索结束后可以过滤结果吗?如果是的话我该怎么做?一些Java代码将不胜感激。通过弹性搜索搜索后应用过滤器

回答

1

您应该使用post_filters。你可以查看官方网页here了解更多关于这方面的信息。

您还可以阅读博客文章here中的过滤器工作。

这主要是过滤器是如何工作的:

enter image description here

+0

我所看到的[这里](http://www.elasticsearch.org/guide/en/elasticsearch/client/java-api/current /search.html#search)后期过滤器在搜索请求期间应用。我想在这个请求后过滤我的数据。我想过滤SearchResponse中的数据。 – salvador 2014-12-03 14:57:07

+0

执行查询后应用后过滤器。它适用于计算结果,然后过滤它们。 – eliasah 2014-12-03 14:59:25

+0

我发布的链接中的示例代码显示setPostFilter()函数在execute()函数之前应用。从这我明白,在查询执行之前应用过滤器。你能给我一个Java示例,显示不同的?在此先感谢 – salvador 2014-12-03 15:13:26