在es中查詢null值的操作方法
1、背景
在我們向es
中寫入數(shù)據(jù)時,有些時候數(shù)據(jù)寫入到es
中的是null
,或者沒有寫入這個字段,那么這個時候在es
中該如何查詢出這種為null的數(shù)據(jù)呢?
2、需求
假設我們的mapping
存在 如下2個字段name
和address
,其中 name
是keyword
類型且使用了null_value
來處理null
值,address
字段是text
類型。
我們插入數(shù)據(jù)時,存在name
和address
字段都不存在的,存在name
和address
是[]
或null
的數(shù)據(jù),我們需要查詢出來這些數(shù)據(jù)。
3、準備數(shù)據(jù)
3.1 創(chuàng)建mapping
PUT /index_null_value { "mappings": { "properties": { "name":{ "type": "keyword", "null_value": "--" }, "address":{ "type": "text" }, "age":{ "type": "integer", "null_value": "-1" } } } }
注意:
null_value
需要和字段的 類型值 保持一致,比如上方的age
是integer
類型,那么null_value
的值就必須是integer類型
。null_value
不會修改_source
中的值[]
空數(shù)組是不會被null_value
替換的,因為[]
中不包含明確的null
null_value
可以修飾的數(shù)據(jù)類型有限,比如text
類型不可使用。
3.2 插入數(shù)據(jù)
PUT /index_null_value/_bulk {"index":{"_id":0}} {"age":10} {"index":{"_id":1}} {"name":null,"address": null,"age":10} {"index":{"_id":2}} {"name":[],"address":[],"age":20} {"index":{"_id":3}} {"name":[null],"address":[null],"age":60} {"index":{"_id":4}} {"name":[null,"123"],"address":[null,"123"],"age":70} {"index":{"_id":5}} {"name":["123",null],"address":["123",null],"age":80} {"index":{"_id":6}} {"name":["123","456"],"address":["123","456"],"age":90}
- 數(shù)據(jù)中存在
name
和address
字段都不存在的 - 數(shù)據(jù)中存在
name
和address
字段 是 [] 的 - 數(shù)據(jù)中存在
name
和address
字段 是 [null] 的 - 數(shù)據(jù)中存在
name
和address
字段 都有值的
4、查詢 name字段為null的數(shù)據(jù)
5、查詢address不存在或值直接為null的數(shù)據(jù)
6、參考鏈接
1、https://www.elastic.co/guide/en/elasticsearch/reference/8.6/null-value.html
2、https://www.elastic.co/guide/en/elasticsearch/reference/8.6/query-dsl-exists-query.html
到此這篇關(guān)于如何在es中查詢null值的文章就介紹到這了,更多相關(guān)es中查詢null值內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
從字節(jié)碼角度解析synchronized和反射實現(xiàn)原理
這篇文章主要介紹了從字節(jié)碼角度解析synchronized和反射的實現(xiàn)原理,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-08-08使用Java實現(xiàn)一個不同難度(高、中、低)的猜數(shù)字游戲
本文介紹了一個增強版的猜數(shù)字游戲,包括菜單打印、游戲維持、邏輯功能選擇和源代碼展示,游戲通過隨機數(shù)生成和邏輯判斷來維持游戲進程,用戶可以選擇不同的難度,源代碼展示了如何實現(xiàn)這三種不同難度的猜數(shù)字游戲,為玩家?guī)砀嗵魬?zhàn)和樂趣,需要的朋友可以參考下2024-09-09如何設置IDEA遠程連接服務器開發(fā)環(huán)境并結(jié)合cpolar實現(xiàn)ssh遠程開發(fā)(最新推薦)
本文主要介紹如何在IDEA中設置遠程連接服務器開發(fā)環(huán)境,并結(jié)合Cpolar內(nèi)網(wǎng)穿透工具實現(xiàn)無公網(wǎng)遠程連接,然后實現(xiàn)遠程Linux環(huán)境進行開發(fā),感興趣的朋友跟隨小編一起看看吧2024-03-03