1. 程式人生 > 實用技巧 >elasticsearch7.6.2 - rest 複雜查詢

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欄位, 裡面放的就是高亮的欄位和內容. 在展示的時候, 需要進行替換操作.