ES實戰場景一:exists 字段使用


業務場景:在文檔中存儲的數據有以下三個字段:dg,ws,ls 。這三個字段在同一文檔中僅有一個存在值,而ES在對該文檔序列化時,空值默認不進行序列化,目前只想查詢到dg或者ws有值的數據,如何查詢?

思考:在MySQL中,這種場景相當於某一字段不為null,而另兩個字段 is null。而我們已知ES對字段為空默認不進行序列化,所以如果是MySQL的話,相當於下面這種寫法:

select * from data_doc where dg is not null;

解決方案:在ES中,則可以通過exist,判斷某字段存在,寫法如下:

{
    "query": {
        "exists": {
            "field": "dg"
        }
    }
}

最后修改於2020年4月12日 15:48:02


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM