TL;DR must_notとexistsを組み合わせて実現できる パフォーマンス面の検証はしていないのであしからず 実行環境 Elasticsearch: 7.9.3 使ったインデックス定義やサンプルデータはこちら 前置き あるフィールドについて検索条件を設定したとき、そのフィールドにnullがセットされたドキュメントは検索結果に入ってこない 例えば以下のようなインデックスとデータを考える PUT simple_index { "mappings": { "_routing": {"required": false}, "properties": { "id": {"type": "keyword"}, "name": {"type": "keyword"}, "int_value": {"type": "integer"} } } } POST simple_index/_bulk {
![[メモ]ElasticsearchでIS NULL的な検索をしたい - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/b68d27e692b007ff11d8d5398fe71f614570ef71/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-9f5428127621718a910c8b63951390ad.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTkxNiZoPTMzNiZ0eHQ9JTVCJUUzJTgzJUExJUUzJTgzJUEyJTVERWxhc3RpY3NlYXJjaCVFMyU4MSVBN0lTJTIwTlVMTCVFNyU5QSU4NCVFMyU4MSVBQSVFNiVBNCU5QyVFNyVCNCVBMiVFMyU4MiU5MiVFMyU4MSU5NyVFMyU4MSU5RiVFMyU4MSU4NCZ0eHQtY29sb3I9JTIzMjEyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTU2JnR4dC1jbGlwPWVsbGlwc2lzJnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnM9ZDU1MzZhYzM2YzFjNTUxNWQ2MTgzYWZiZDYyMTI0MWU%26mark-x%3D142%26mark-y%3D112%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTcxNiZ0eHQ9JTQwbWljaGlfd2t3ayZ0eHQtY29sb3I9JTIzMjEyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTMyJnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnM9ZDU4YmJkOTUyNzI1OGI0OWQwMjA0N2Q1OWQ4M2FkZTk%26blend-x%3D142%26blend-y%3D491%26blend-mode%3Dnormal%26s%3D83e5fe0f02fc2b7ad178730857866046)