我的映射看起来像这样:
"mappings": {
"mydoc": {
"properties": {
"event": {
"type": "nested",
"properties": {
"eventType": {
"type": "string"
},
"idList": {
"type": "integer"
},
"id": {
"type": "integer"
},
}
}
}
}
}
mydoc文档包含一组嵌套的事件文档。
在mydoc文档中,我想找到所有ID:
在整个索引中,我想要一个包含此条件的ID列表,以及发生这种情况的mydoc文档数量的计数(对于每个ID)。
是否有可能在ElasticSearch中实现这一目标?我认为使用嵌套构面过滤器或术语过滤器查找可能是可能的,但我还没有看到这样做的方法。
答案 0 :(得分:0)
我认为亲子关系可能比嵌套文档更适合您的情况
然后,如果您仅在事件范围内搜索(或在_parent字段上添加条件以限制特定的顶级文档),则可以直接查询您(子)事件文档。
您可以使用has_child过滤器或查询来搜索(或方面)您的顶级文档中的事件条件(请参阅http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/query-dsl-has-child-filter.html)