複数のフィールドを使用して重複データを排除する方法
ESでは「term」の集計を使用して、複数のフィールドに基づいて重複データを削除できます。次にサンプルクエリを示します。
{
"size": 0,
"aggs": {
"deduplicate": {
"composite": {
"size": 10000,
"sources": [
{
"field1": {
"terms": {
"field": "field1.keyword"
}
}
},
{
"field2": {
"terms": {
"field": "field2.keyword"
}
}
}
]
}
}
}
}
本例では、「composite」アグリゲーションを使用して、2 つのフィールド「field1」と「field2」に基づいて重複データを削除しました。実際の要件に応じて、さらに多くのフィールドを追加できます。
重複データを削除したバケットのみが返されることに注意してください。完全なドキュメントやその他の集約情報を取得する必要がある場合は、必要に応じて調整してください。