前言
最近修改專案,又看了下ElasticSearch中的搜尋,所以簡單整理一下其中的查詢語句等。都是比較基礎的。PS,好久沒寫部落格了。。大概就是因為懶吧。閒言少敘書歸正傳。
查詢示例 http://*.*.*.*:9200/dbname/table/
- 最簡單粗暴的查詢
-
{ "query": { "match_all": {} } }
-
- 簡單的主鍵或者某一個條件查詢
-
{ "query": { "term": { "artid": 1479282922430 } } }
filter,bool查詢(可以進行條件聯合查詢,and,or等), -
-
{ "query": { "filtered": { "filter": { "bool": { "should": { "term": { "pid": 6267 } } } } } } }
{ "query": { "filtered": { "filter": { "bool": { "should": { "and": [ { "term": { "pid": 6267 //兩個條件 一個是 pid=6267 and privacy=1 } }, { "term": { "privacy": 1 } } ] } } } } } }
-
{ "query": { "ids": { "values": [ 1,2,3,4,5,6 ] } } }
- 一個綜合示例。 包含分頁,排序,and條件查詢,關鍵字查詢
-
{ "query": { "filtered": { "filter": { "bool": { "should": [ { "and": [ { "term": { "showpublic": 1 } }, { "term": { "privacy": "1" } }, { "or": [ //此處為匹配兩個欄位的關鍵字,符合其中一個就可以,用 or { "query": { "match_phrase": { "title": { "query": "關鍵字", "slop": 1 } } } }, { "query": { "match_phrase": { "name": { "query": "關鍵字", "slop": 1 } } } } ] } ] } ] } } } }, "from": 0, "size": 20, "sort": [ { "ordertime": { "order": "desc" } }, { "artid": { "order": "desc" } } ] }
就寫這麼多吧。Over。
-