elasticsearch的查詢(四)
阿新 • • 發佈:2020-12-06
檢索文件
查詢單個僱員的資訊
GET /yiyang/employee/1
查詢所有的
GET /yiyang/employee/_search
資料都在hits中
使用查詢表示式搜尋
GET /yiyang/employee/_search
{
"query": {
"match": {
"last_name": "Smith"
}
}
}
這個請求使用 JSON 構造,並使用了一個 match 查詢(屬於查詢型別之一)。
match是必須全等於,相當於MySQL中的=
更復雜的搜尋
現在嘗試下更復雜的搜尋。 同樣搜尋姓氏為 Smith 的員工,但這次我們只需要年齡大於 30 的。查詢需要稍作調整,使用過濾器 filter ,它支援高效地執行一個結構化查詢。
GET /yiyang/employee/_search { "query" : { "bool": { "must": { "match" : { "last_name" : "smith" } }, "filter": { "range" : { "age" : { "gt" : 30 } } } } } }
這部分是一個 range 過濾器 , 它能找到年齡大於 30 的文件,其中 gt 表示_大於_(great than)。
擴充套件:gte表示大於等於,lt表示小於,lte表示小於等於。