Elasticsearchでは必要の無いフィールドは存在させないでデータ登録できます。
そんなフィールドの有無を検索したいときの検索例です。
指定したフィールドのあるデータの検索
index_nameからfield_nameフィールドが存在するデータの検索をする例
GET index_name/_search
{
"query": {
"exists": {
"field": "field_name"
}
}
}
指定したフィールドの無いデータの検索
index_nameからfield_nameフィールが存在しないデータの検索をする例
GET index_name/_search
{
"query": {
"bool": {
"must_not": [
{
"exists": {
"field": "field_name"
}
}
]
}
}
}
いずれかのフィールドのないデータの検索
index_nameからfield_1かfield_2のいずれかのフィールが存在しないデータの検索をする例
GET index_name/_search
{
"query": {
"bool": {
"should": [
{
"bool": {
"must_not": [
{
"exists": {
"field": "field_1"
}
}
]
}
},
{
"bool": {
"must_not": [
{
"exists": {
"field": "field_2"
}
}
]
}
}
]
}
}
}