在Elasticsearch中,有没有办法从结果_source中排除不匹配特定查询/过滤器的嵌套对象?
例如,假设一个文档在嵌套字段中有四个对象。查询所需的过滤器只会导致匹配对象1和3.当我们通过_source获得结果时,我们将拉回整个文档以及对象1,2,3,4。
是否可以从结果中排除对象2和4?或者是我们必须使用应用程序端逻辑重新迭代和排除的东西?
答案 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