接著上一篇, 進行 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欄位, 里面放的就是高亮的欄位和內容. 在展示的時候, 需要進行替換操作.
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/182718.html
標籤:Java
