我有一个如下所示的映射:
"mappings": {
"mydoc": {
"properties": {
"event": {
"type": "nested",
"properties": {
"eventType": {
"type": "string"
},
"idList": {
"type": "integer"
},
"id": {
"type": "integer"
},
}
}
}
}
}
一个 mydoc 文档包含一个嵌套的事件文档数组。
在 mydoc 文档中,我想找到所有 ID:
- 存在 event.type='A' 的事件并且 event.idList 包含一些 ID X
- 存在另一个 event.type='B' 且 event.id 等于 X 的事件
在整个索引中,我想要一个符合此标准的 ID 列表,以及发生在其中的 mydoc 文档数量的计数(针对每个 ID)。
是否有可能在 ElasticSearch 中实现这一点?我在想可能使用嵌套的构面过滤器或术语过滤器查找,但我还没有看到用这些方法来做到这一点。