Elasticsearchのあるフィールドがnull
であるものを検索したい
つらいのが、そのフィールドにnull_value
を設定していないため、"NULL"という文字列で検索ができない
null_value | Elasticsearch Guide [8.5] | Elastic
そこで思いついたのが、existsを使う方法
以前、existsを使ってElasticsearchで不要なフィールドの削除しようとしたが、existsクエリはフィールドがnullかつnull_valueの設定をしていない場合、フィールドを持っていないと判断するため、ちょっと工夫が必要という記事を書いた
逆にいうと、nullのフィールドは存在していないという判定になるので、must_not
と組み合わせてあげれば検索できそう