Elasticsearch 常見查詢
阿新 • • 發佈:2019-01-09
1、查詢所有 { "query": { "match_all": {} } } 2、count查詢 { "query": { "match_all": {} }, "aggs": { "agg_start_count": { "value_count": { "field": "start_time" } } } } 3、按顏色分組查詢統計(按顏色分組,agg_color為自定義名稱) { "size": 0, "aggs": { "agg_color": { "terms": { "field": "color" } } } } 4、按顏色分組並且統計每種顏色的平均價格 { "size": 0, "aggs": { "agg_color": { "terms": { "field": "color" }, "aggs": { "avg_price": { "avg": { "field": "price" } } } } } } 5、按顏色分組並且統計沒用顏色的平均價格、製造廠商 { "size": 0, "aggs": { "agg_color": { "terms": { "field": "color" }, "aggs": { "avg_price": { "avg": { "field": "price" } }, "make": { "terms": { "field": "make" } } } } } } 5、按顏色分組並且統計沒用顏色的平均價格、製造廠商,每個製造廠商的最高價格和最低價格{ "size": 0, "aggs": { "agg_color": { "terms": { "field": "color" }, "aggs": { "avg_price": { "avg": { "field": "price" } }, "make": { "terms": { "field": "make" }, "aggs": { "agg_min": { "min": { "field": "price" } }, "agg_max": { "max": { "field": "price" } } } } } } } } 6、同時按季度、按每個汽車品牌計算銷售總額和按季度全部品牌的彙總銷售金額。 { "size": 0, "aggs": { "agg_month": { "date_histogram": { "field": "sold", "interval": "quarter", "format": "yyyy-MM-dd" }, "aggs": { "agg_make": { "terms": { "field": "make" }, "aggs": { "agg_sum": { "sum": { "field": "price" } } } }, "total_sum": { "sum": { "field": "price" } } } } } } 7、福特在售車有多少種顏色 { "size": 0, "query": { "match": { "make": "ford" } }, "aggs": { "agg_color": { "terms": { "field": "color" } } } } 8、福特汽車與 所有 汽車平均售價的比較 { "size": 0, "query": { "match": { "make": "ford" } }, "aggs": { "agg_price": { "avg": { "field": "price" } }, "agg_all": { "global": {}, "aggs": { "agg_all_price": { "avg": { "field": "price" } } } } } } 9、售價在 $10,000 美元之上的所有汽車同時也為這些車計算平均售價 { "size": 0, "query": { "constant_score": { "filter": { "range": { "price": { "gte": 10000 } } } } }, "aggs": { "agg_avg_price": { "avg": { "field": "price" } } } } 10、查詢ford製造廠商、同時也想在頁面上提供更豐富的資訊,包括(與搜尋匹配的)上個月度汽車的平均售價。 { "size": 0, "query": { "match": { "make": "ford" } }, "aggs": { "recent_sales": { "filter": { "range": { "sold": { "from": "now-1M" } } }, "aggs": { "average_price": { "avg": { "field": "price" } } } } } } 11、按照汽車顏色建立一個銷售條狀圖表,但按照汽車平均售價的升序進行排序 { "size": 0, "aggs": { "agg_color": { "terms": { "field": "color", "order": { "agg_avg_price": "asc" } }, "aggs": { "agg_avg_price": { "avg": { "field": "price" } } } } } } 12、每月有多少顏色的車被售出: { "size": 0, "aggs": { "agg_histogram": { "date_histogram": { "field": "sold", "interval": "month", "format": "yyyy-MM-dd" }, "aggs": { "agg_cardinality_color": { "cardinality": { "field": "color" } } } } } } 13、巢狀查詢 { "query": { "bool": { "must": [ { "match": { "title": "eggs" } }, { "nested": { "path": "comments", "query": { "bool": { "must": [ { "match": { "comments.name": "john" } }, { "match": { "comments.age": 28 } } ] } } } } ] }}}