接着上一篇, 進行 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字段, 里面放的就是高亮的字段和內容. 在展示的時候, 需要進行替換操作.