Kibanaでデータ検索する機会があったので、備忘録として残します。
nestedフィールドを検索条件として、データを検索する方法です。
Kibana Discoverで指定
年齢(family.age)が10歳以下の家族(family)がいるユーザを検索する場合、次のように指定します。
Search フィールドで、次のように指定します。
family.age <= 10
Kibana コンソールで指定
年齢(family.age)が10歳以下の家族(family)がいるユーザを検索する場合、Kibana コンソールで指定する方法です。
"bool"と"should"を使い記載します。
GET /indexA/_search
{
"query": {
"nested": {
"path": "family",
"query": {
"bool": {
"must": [
{ "range": { "family.age": { "lte": 10 } } }
]
}
}
}
}
}
Kibanaマニュアル(英語)
Nested query | Elasticsearch Guide [8.15] | Elastic