elasticsearch7.6.2 - rest 複雜查詢
阿新 • • 發佈:2020-10-20
接著上一篇, 進行 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欄位, 裡面放的就是高亮的欄位和內容. 在展示的時候, 需要進行替換操作.