1. 程式人生 > 實用技巧 >elasticsearch的查詢(四)

elasticsearch的查詢(四)

檢索文件

查詢單個僱員的資訊

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表示小於等於。

全文搜尋