99久久国产露脸精品麻豆,欧美日韩精品小说,亚洲免费在线美女视频,国产三级中文字幕,91极品国产情侣高潮对白,国产亚洲一区二区三区不卡片,欧美jizz精品欧美性,久久国产精品久久国产片

Elasticsearch查詢語法(一)

袁志蒙 2201次瀏覽

摘要:通過ES查詢表達式(Query DSL),可以實現復雜的查詢功能,ES查詢表達式主要由JSON格式編寫,可以靈活的組合各種查詢語句。一.查詢基本語法...

通過ES查詢表達式(Query DSL),可以實現復雜的查詢功能,ES查詢表達式主要由JSON格式編寫,可以靈活的組合各種查詢語句。

一.查詢基本語法結構

POST /{索引名}/_search
{
	"from" : 0,  // 返回搜索結果的開始位置
  	"size" : 10, // 分頁大小,一次返回多少數據
  	"_source" :[ ...需要返回的字段數組... ],
	"query" : { ...query子句... },
	"aggs" : { ..aggs子句..  },
	"sort" : { ..sort子句..  }
}

{索引名},支持支持一次搜索多個索引,多個索引使用逗號分隔,例子:

POST /order1,order2/_search

按前綴匹配索引名:

POST /order*/_search

當我們執行查詢語句,返回的JSON數據格式如下:

{
  "took" : 5, // 查詢消耗時間,單位毫秒 
  "timed_out" : false, // 查詢是否超時
  "_shards" : { // 本次查詢參與的ES分片信息,查詢中參與分片的總數,以及這些分片成功了多少個失敗了多少個
    "total" : 1,
    "successful" : 1,
    "skipped" : 0,
    "failed" : 0
  },
  "hits" : { // hits字段包含我們搜索匹配的結果
    "total" : { // 匹配到的文檔總數
      "value" : 1, // 找到1個文檔
      "relation" : "eq"  //文檔總數關系(relation)是真實值(eq),還是大于值(gte),當為gte時,獲取到的value值是不準確的
    },
    "max_score" : 1.0, // 匹配到的最大分值
    "hits" : [ 
         // 這里就是我們具體的搜索結果,是一個JSON文檔數組
    ]
  }
}

query子句

query子句主要用來編寫類似SQL的Where語句,支持布爾查詢(and/or)、IN、全文搜索、模糊匹配、范圍查詢(大于小于)。

aggs子句

aggs子句,主要用來編寫統計分析語句,類似SQL的group by語句

sort子句

sort子句,用來設置排序條件,類似SQL的order by語句

二、ES查詢分頁

ES查詢的分頁主要通過from和size參數設置,類似MYSQL 的limit和offset語句

例子:

POST /order_v2/_search
{
  "from": 0,
  "size": 20, 
  "query": {
    "match_all": {}
  }
}

查詢所有數據,從第0條數據開始,一次返回20條數據。

_source屬性

_source用于設置查詢結果返回什么字段,類似Select語句后面指定字段(field)。

例子:

POST /order_v2/_search
{
  "_source": ["order_no","shop_id"], 
  "query": {
    "match_all": {}
  }
}

僅返回,order_no和shop_id字段。


隨機內容

表情

共0條評論
  • 這篇文章還沒有收到評論,趕緊來搶沙發吧~