Elasticsearch:排除结果中不匹配的嵌套对象

时间:2015-01-21 13:38:06

标签: elasticsearch

在Elasticsearch中,有没有办法从结果_source中排除不匹配特定查询/过滤器的嵌套对象?

例如,假设一个文档在嵌套字段中有四个对象。查询所需的过滤器只会导致匹配对象1和3.当我们通过_source获得结果时,我们将拉回整个文档以及对象1,2,3,4。

是否可以从结果中排除对象2和4?或者是我们必须使用应用程序端逻辑重新迭代和排除的东西?

2 个答案:

答案 0 :(得分:2)

目前,无法在结果中仅包含匹配的嵌套对象。

elasticsearch 1.5.0中有一个inner_hits功能,应该对此有所帮助。

答案 1 :(得分:1)

您可以使用inner_hits来实现这一点,而inner_hits只返回匹配的嵌套对象。您可以在源中排除此嵌套字段。

Val建议: ElasticSearch - Get only matching nested objects with All Top level fields in search response