elasticsearch - 在ElasticSearch查询中返回子属性

标签 elasticsearch

我必须在我的应用程序中重构一些代码,才能在ElasticSearch中使用子/父关系。我将Parent作为主要搜索对象,并使用HasChild来过滤所有子属性。

就目前而言,返回对象是完整的父对象。但是在我的代码中,我还需要访问某些子属性(即子ID)。这可能会在结果集中返回吗?

最佳答案

如果您需要来自子项的数据,那么您实际上是在寻找带有has_parent子句的子项对象查询,以通过父项上的某种条件进行过滤。

这样想:即使两个 child 共享同一个 parent ,您的结果也应该包括每个匹配 child 一个命中。因此,您要搜索的主要对象实际上是 child 而不是 parent 。

您还可以考虑使用( top-children deprecated since ~1.7) has-child 查询,该查询将为您提供 parent 及其匹配的 child ,但是这需要一些有关您希望每个 parent 看到多少 child 的估计。

关于elasticsearch - 在ElasticSearch查询中返回子属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22646041/

相关文章:

java - 如何对具有异常条件的多个字段进行排序

elasticsearch - Elasticsearch - Kafka Connect 未将正确的键值发布为文档 ID

java - 为什么我无法正确查询 Elasticsearch 中的 HashMap 字段?

elasticsearch - elasticsearch/kibana查询在_all索引中找不到文本

Elasticsearch : aggregation "existing" fields

几秒钟后elasticsearch 6索引更改为只读

mongodb - Elasticsearch 在每次搜索请求时超时,直到重新启动

java - ElasticSearch 从多个位置获取具有一个值的数据

Elasticsearch:按单词和点分割的自定义标记器

elasticsearch - Logstash-ElasticSearch中的聚合