elasticsearch7.6.2 - rest 復雜查詢


接着上一篇, 進行 query 復雜查詢

must

這種關系, 相當於 and , 必須同時滿足才行

 

 should

這種關系, 相當於 or , 滿足一個就可以了

 

 這里查出了3條數據

must_not

 

 must_not 相當於是 !should , 所以這里查出了1條數據. 所有的都不滿足才可以查出來

 

range區間查詢

gt > 
gte >=
lt <
lte <=

 

 區間查詢通過range的方式.

 

wildcard通配符查詢

允許使用通配符* 和 ?來進行查詢
*代表0個或多個字符
?代表任意一個字符

 

 

term 精確查詢

這個查詢是有坑的, 首先看以下查詢

 

 desc我只傳了一個 "運" 字, 發現能正常查詢出來, 但是通常情況, 我是想查詞條的, 比如 "運動".

那替換成運動看一下:

 

 發現查不出來了, 是不是很神奇. 

這其實是建表的時候導致的.

這里可以對 jd_goods 庫進行查詢比較一下:

 

 為啥 jd_goods 就能查出來, lisen卻查不出來呢?

通過 get 來看一下, 兩邊的字段有啥區別:

 

 可以看到 jd_goods 的 title 字段, 指定了分詞器.

 

高亮

 

 返回值里面多了個 highlight字段, 里面放的就是高亮的字段和內容. 在展示的時候, 需要進行替換操作.


免責聲明!

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



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