ES 查詢主要分為兩大類:詞條查詢(term)和全文查詢(match)
參考:https://www.cnblogs.com/ljhdo/p/4577065.html
詞條查詢和全文查詢的主要區(qū)別:前者對搜索關(guān)鍵詞不分析(分詞)直接構(gòu)建查詢览绿,match類則會將搜索關(guān)鍵詞分析后在構(gòu)建查詢
詞條查詢的語法有:term terms prefix wildcard regexp
全文查詢的語法主要是match類:match match_phrase match_phrase_prefix multi_match
特別關(guān)注的語法解釋:
wildcard 相當(dāng)于 mysql的like,機械式匹配饿敲,效率慢,支持的通配符只有兩個:*:0個或多個任意字符 倔韭, ?:任意單個字符
fuzzy 字符的相似度-編輯距離寿酌,通過算法匹配硕蛹,和普通需求想法可能結(jié)果不一樣
match_phrase 和match_phrase_prefix phrase (短語)除了要匹配短語分詞外,并且保證各個分詞的相對位置不變
查詢語法另一種分類僵腺,也是和傳統(tǒng)SQL對比
參考:https://www.cnblogs.com/shoufeng/p/11103913.html
1 term query - 索引詞檢索
1.1 term query - 不分詞檢索 =
1.2 terms query - in檢索
2 prefix query - 前綴檢索
3 wildcard query - 通配符檢索 like
4 regexp query - 正則檢索
5 fuzzy query - 糾錯檢索
6.其他復(fù)雜檢索
_bulk
create:id不能為空辰如,必須指定id琉兜,id相同時報錯
index:id可以為空豌蟋,不指定id時自動生成梧疲,id相同時覆蓋
update :需要用doc 包括起來
{"update":{"_index": "bi_stat_order","_type": "type","_id": "mW2zxnEBerbeohH8xPZT"}}
{"doc":{"date": 1588118400000,"total": 160}}
兩行之間不使用分號分隔
可以直接指定index 和type ,省去每一行都要寫index和type
POST bi_stat_order/type/_bulk
{"index":{}}
{"date": 1588118400000,"total": 179}