Elasticsearch多種查詢示例

2021-10-04 16:22:10 字數 2213 閱讀 1751

版本:6.8.1

目前es的6.x與7.x都在同步維護著。

put

/hyomin/

put}},

"category":}

}}},

"images":,

"price":,

"saleable":,

"stock":,

"title":}

}

插入資料:

# 查詢資料準備

post

/hyomin/goods/_bulk}}

}}}}

}}}}

}}}}

}}}}

}}

##############匹配查詢(match)

#1.查詢所有:

get /hyomin/_search

get /hyomin/_search}}

#2.條件匹配

##2.1 匹配條件預設是or

get /hyomin/_search}}

}#希望搜尋小公尺手機,但會把小公尺筆記本、小公尺電視都搜出來

##2.2 讓匹配條件為and

get /hyomin/goods/_search}}

}#現在就只會查詢出小公尺手機

##2.3 物件屬性的子屬性查詢

get /hyomin/goods/_search}}

##2.4 按短語查詢,不再利用分詞技術(指的是搜尋條件),直接用短語在原始資料中匹配

get /hyomin/_search}}

#只會搜出title為小公尺手機的文件

##2.5 統一搜尋關鍵字,多個字段匹配(有乙個字段匹配即可)

get /hyomin/_search}}

##############精確查詢(term)

#用於精確值 匹配,這些精確值可能是數字、時間、布林或者那些未分詞的字串

##1.基本使用

get /hyomin/_search}}

}##2.多片語查詢,與match一樣,滿足其中乙個即可

get /hyomin/_search}}

##############範圍查詢(range)

#查詢指定範圍裡的數字或者時間

##1.基本使用

get /hyomin/_search}}

}##############模糊查詢(fuzzy)

#fuzzy允許使用者搜尋詞條與實際詞條的拼寫出現偏差,但是偏差的編輯距離不得超過2。預設應該是1,可以用fuzziness指定

##1.基本使用

get /hyomin/_search}}

}##############bool組合查詢(bool)

#`bool`把各種其它查詢通過`must`(與)、`must_not`(非)、`should`(或)的方式進行組合

##1.基本使用

#eg:查詢小公尺牌,**在1000

-3000;且庫存不小於200的document

get /hyomin/_search}}

,}],

"must_not":[

}}]}

}}##############排序(sort)

get /hyomin/_search},

"sort":[

}]}##############分頁

#from

(從第幾條開始,起始:0

),size

(取多少條)

get /hyomin/_search},

"from":1

,"size":2

,"sort":[

}]}##############高亮

#高亮必須要有查詢條件,不能使用match_all

get /hyomin/goods/_search},

"highlight":}

,"pre_tags":""

,"post_tags":""

}}# 查詢結果中,將標題欄位中的 符合查詢條件的內容 進行高亮

##############指定查詢返回字段(_source)

get /hyomin/_search}}

,"_source":[

"title"

,"price"

,"stock"

]}

ElasticSearch多種搜尋方式

一,query string search 搜尋get ecommerce product search搜尋商品名稱中包含牙膏的商品,而且按售價降序排序 get ecommerce product search?q name yagao sort price desc適用於臨時的在命令列使用一些工具...

git多種操作

剛開始我git remote add origin錯了位址,寫成http的位址了,然後就git remote rm origin了,重新git remote add origin git github.com lxgithub24 opensns.git 就可以了。之後git push u orig...

多種排序組合

include void bubble int a,int n 氣泡排序 void choise int a,int n 選擇排序 void quick int a,int i,int j 快速排序 void insert int a,int n 插入法 void shell int a,int n...