次のようなマッピングがあります。
"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でこれを達成することは可能ですか? ネストされたファセット フィルターまたはターム フィルター ルックアップで可能かもしれないと考えていましたが、これらでそれを行う方法はまだ見ていません。