DELETE cars
PUT cars
{
"mappings": {
"transactions": {
"properties": {
"price": {
"type":"long"
},
"color": {
"type":"keyword"
},
"make": {
"type":"keyword"
},
"sold": {
"type":"date"
}
}
}
}
}
POST /cars/transactions/_bulk
{ "index": {}}
{ "price" : 10000, "color" : "red", "make" : "honda", "sold" : "2014-10-28" }
{ "index": {}}
{ "price" : 20000, "color" : "red", "make" : "honda", "sold" : "2014-11-05" }
{ "index": {}}
{ "price" : 30000, "color" : "green", "make" : "ford", "sold" : "2014-05-18" }
{ "index": {}}
{ "price" : 15000, "color" : "blue", "make" : "toyota", "sold" : "2014-07-02" }
{ "index": {}}
{ "price" : 12000, "color" : "green", "make" : "toyota", "sold" : "2014-08-19" }
{ "index": {}}
{ "price" : 20000, "color" : "red", "make" : "honda", "sold" : "2014-11-05" }
{ "index": {}}
{ "price" : 80000, "color" : "red", "make" : "bmw", "sold" : "2014-01-01" }
{ "index": {}}
{ "price" : 25000, "color" : "blue", "make" : "ford", "sold" : "2014-02-12" }
----------フィルター集約-------
赤い車の数
POST /cars/transactions/_search?size=0
{
"aggs" : {
"red_cars" : {
"filter" : { "term": { "color": "red" } }
}
}
}
----------集約は、フィルタ-------
統計赤い車、青い車各番号
POST /cars/transactions/_search
{
"size": 0,
"aggs" : {
"cars" : {
"filters" : {
"filters" : {
"red_cars" : { "match" : { "color" : "red" }},
"blue_cars" : { "match" : { "color" : "blue" }}
}
}
}
}
}
統計的な赤い車、青い車各数、および2つの色の車の平均価格
POST /cars/transactions/_search
{
"size": 0,
"aggs" : {
"cars" : {
"filters" : {
"filters" : {
"red_cars" : { "match" : { "color" : "red" }},
"blue_cars" : { "match" : { "color" : "blue" }}
}
},
"aggs" : {
"avg_price" : { "avg" : { "field" : "price" } }
}
}
}
}
----------日付ヒストグラム集計-------
どのように多くの毎月の自動車販売
間隔パラメータ:年、四半期、月、週、日、時、分、秒、
間隔パラメータ:あなたはまた、特定の時間を書くことができ、そのような24時間、90メートルなど
GET /cars/transactions/_search
{
"size" : 0,
"aggs": {
"sales_over_time": {
"date_histogram": {
"field": "sold",
"interval": "month",
"format": "yyyy-MM-dd"
}
}
}
}
90分の指定された期間
GET /cars/transactions/_search
{
"size" : 0,
"aggs": {
"sales_over_time": {
"date_histogram": {
"field": "sold",
"interval": "90m",
"format": "yyyy-MM-dd HH:mm:ss"
}
}
}
}
配列として返されないバケットを返すようにキー付きのパラメータを追加します。
GET /cars/transactions/_search
{
"size" : 0,
"aggs": {
"sales_over_time": {
"date_histogram": {
"field": "sold",
"interval": "month",
"format": "yyyy-MM-dd",
"keyed":true
}
}
}
}
----------日付範囲の集計-------
統計に車両販売の日付範囲の数をよります
GET /cars/transactions/_search
{
"size": 0,
"aggs": {
"range": {
"date_range": {
"field": "sold",
"format": "yyyy-MM-dd",
"ranges": [
{"from": "now-36M/M"},
{"to": "now-24M/M"},
{"from": "now-36M/M","to": "now-12M/M"}
]
}
}
}
}
配列として返されないバケットを返すようにキー付きパラメータ、及び指定されたキー値を追加します。
GET /cars/transactions/_search
{
"size": 0,
"aggs": {
"range": {
"date_range": {
"field": "sold",
"format": "yyyy-MM-dd",
"ranges": [
{"from": "now-36M/M","key":"36months"},
{"to": "now-24M/M","key":"2years_ago"},
{"from": "now-36M/M","to": "now-12M/M"}
],
"keyed":true
}
}
}
}
統計に車両販売日付範囲の数、および期間の平均販売価格をよります
GET /cars/transactions/_search
{
"size": 0,
"aggs": {
"range": {
"date_range": {
"field": "sold",
"format": "yyyy-MM-dd",
"ranges": [
{"from": "now-36M/M","key":"36months"},
{"to": "now-24M/M","key":"2years_ago"},
{"from": "now-36M/M","to": "now-12M/M"}
],
"keyed":true
},
"aggs" : {
"avg_price" : { "avg" : { "field" : "price" } }
}
}
}
}
----------ヒストグラム集計-------
ヒストグラム、20,000のサブセクションバレルに従いました
GET /cars/transactions/_search
{
"size" : 0,
"aggs" : {
"colors" : {
"histogram" : {
"field" : "price",
"interval": 20000
}
}
}
}
min_doc_countパラメータは、少なくともいくつかの樽を表示することを制限します
GET /cars/transactions/_search
{
"size" : 0,
"aggs" : {
"colors" : {
"histogram" : {
"field" : "price",
"interval": 20000,
"min_doc_count": 1
}
}
}
}
extended_boundsパラメータ、拡張表示範囲
GET /cars/transactions/_search
{
"size" : 0,
"aggs" : {
"colors" : {
"histogram" : {
"field" : "price",
"interval": 20000,
"extended_bounds": {
"min" : 0,
"max" : 200000
}
}
}
}
}
バレルの名前に従って降順に並べ替え増加
GET /cars/transactions/_search
{
"size" : 0,
"aggs" : {
"colors" : {
"histogram" : {
"field" : "price",
"interval": 20000,
"order" : { "_key" : "desc" }
}
}
}
}
ソート増加、統計の数でソート
GET /cars/transactions/_search
{
"size" : 0,
"aggs" : {
"colors" : {
"histogram" : {
"field" : "price",
"interval": 20000,
"order" : { "_count" : "desc" }
}
}
}
}
ヒストグラムは20,000バレルに係るセクションに分割され、集約され
GET /cars/transactions/_search
{
"size" : 0,
"aggs":{
"price":{
"histogram":{
"field": "price",
"interval": 20000
},
"aggs":{
"price_sum": {
"sum": {
"field" : "price"
}
}
}
}
}
}
ヒストグラムは20,000バレルに係るセクションに分割され、集約され
サブインデックスにソートされたポリマー
GET /cars/transactions/_search
{
"size" : 0,
"aggs":{
"price":{
"histogram":{
"field": "price",
"interval": 20000,
"order":{ "price_sum.value" : "desc" }
},
"aggs":{
"price_sum": {
"sum": {
"field" : "price"
}
}
}
}
}
}
キー付きパラメータを増やします
GET /cars/transactions/_search
{
"size" : 0,
"aggs":{
"price":{
"histogram":{
"field": "price",
"interval": 20000,
"order":{ "price_sum.value" : "desc" }
,"keyed":true
},
"aggs":{
"price_sum": {
"sum": {
"field" : "price"
}
}
}
}
}
}
----------規約集約-------
これは、フィールドの条件に応じてバレルに分割されます
各タイル上の最初のいくつかのエントリの中で最も量を取得するには、その後、全体の二次転位が、そうでエラーがあるかもしれません
GET /cars/transactions/_search
{
"size": 0,
"aggs" : {
"make_terms" : {
"terms" : {
"field" : "make"
}
}
}
}
エントリはアルファベット順にソート
GET /cars/transactions/_search
{
"size": 0,
"aggs" : {
"make_terms" : {
"terms" : {
"field" : "make",
"order" : { "_term" : "asc" }
}
}
}
}
min_doc_count:のみ抽出する回数を制限するために使用さは、エントリよりも何倍も大きい登場しました
GET /cars/transactions/_search
{
"size": 0,
"aggs" : {
"make_terms" : {
"terms" : {
"field" : "make",
"min_doc_count": 3
}
}
}
}
スクリプトを使用して、フィールドの内容を変更します
GET /cars/transactions/_search
{
"size": 0,
"aggs" : {
"make_terms" : {
"terms" : {
"script" : {
"inline": "'make:'+doc['make'].value",
"lang": "painless"
}
}
}
}
}
同上
GET /cars/transactions/_search
{
"size": 0,
"aggs" : {
"make_terms" : {
"terms" : {
"field" : "make",
"script" : {
"inline" : "'make: ' +_value",
"lang" : "painless"
}
}
}
}
}
正規表現にフィルタエントリを使用します
GET /cars/transactions/_search
{
"size": 0,
"aggs" : {
"make_terms" : {
"terms" : {
"field" : "make",
"include" : ".*o.*",
"exclude" : "f.*"
}
}
}
}
正確に指定されたエントリが分割された樽を使用してください
GET /cars/transactions/_search
{
"size": 0,
"aggs" : {
"make_terms" : {
"terms" : {
"field" : "make",
"include" : ["mazda", "honda"]
}
}
}
}
----------レンジ集約-------
指定されたセグメントポイント浴槽の範囲、及び数を数えます
GET /cars/transactions/_search
{
"size": 0,
"aggs" : {
"price_ranges" : {
"range" : {
"field" : "price",
"ranges" : [
{ "to" : 20000 },
{ "from" : 20000, "to" : 50000 },
{ "from" : 50000 }
]
}
}
}
}
このスクリプトは、フィールドを指定するために使用されます
GET /cars/transactions/_search
{
"size": 0,
"aggs" : {
"price_ranges" : {
"range" : {
"script" : {
"lang": "painless",
"inline": "doc['price'].value"
},
"ranges" : [
{ "to" : 20000 },
{ "from" : 20000, "to" : 50000 },
{ "from" : 50000 }
]
}
}
}
}
バレル分前には、スクリプトの値を変更することにより、
GET /cars/transactions/_search
{
"size": 0,
"aggs" : {
"price_ranges" : {
"range" : {
"field" :"price",
"script" : {
"lang": "painless",
"inline": "_value * params.rate",
"params" : {
"rate" : 2.5
}
},
"ranges" : [
{ "to" : 20000 },
{ "from" : 20000, "to" : 50000 },
{ "from" : 50000 }
]
}
}
}
}
----------グローバル集約-------
グローバルすべての文書を使用して計算
GET /cars/transactions/_search?size=0
{
"query" : {
"match" : { "make" : "honda" }
},
"aggs" : {
"all_makes" : {
"global" : {},
"aggs" : {
"avg_price" : { "avg" : { "field" : "price" } }
}
},
"honda_make": { "avg" : { "field" : "price" } }
}
}
グローバルな計算が正しいことを確認
GET /cars/transactions/_search?size=0
{
"query" : {
"match_all" : { }
},
"aggs" : {
"all_make": { "avg" : { "field" : "price" } }
}
}
---------- IPレンジ集約-------
DELETE ips
PUT ips
{
"mappings": {
"transactions": {
"properties": {
"ip": {
"type":"ip"
}
}
}
}
}
POST /ips/doc/_bulk
{ "index": {}}
{ "ip" : "192.168.1.1"}
{ "index": {}}
{ "ip" : "192.168.1.10"}
{ "index": {}}
{ "ip" : "192.168.1.102"}
{ "index": {}}
{ "ip" : "192.168.1.150"}
{ "index": {}}
{ "ip" : "192.168.1.160"}
{ "index": {}}
{ "ip" : "192.168.1.250"}
指定されたIP範囲および量の統計に応じて分割バレル
GET /ips/doc/_search
{
"size": 0,
"aggs" : {
"ip_ranges" : {
"ip_range" : {
"field" : "ip",
"ranges" : [
{"from" : "192.168.1.1" },
{"to" : "192.168.2.1" },
{"from" : "192.168.1.1","to" : "192.168.3.200" }
]
}
}
}
}
サブネットマスクによってサブバレル範囲
192.168.1.0/24は表し:192.168.1.1 192.168.1.254をします
192.168.2.126に192.168.2.0/25:192.168.2.1
GET /ips/doc/_search
{
"size": 0,
"aggs" : {
"ip_ranges" : {
"ip_range" : {
"field" : "ip",
"ranges" : [
{ "mask" : "192.168.1.0/24" },
{ "mask" : "192.168.2.0/25" }
]
}
}
}
}
キー付きのパラメータに参加
GET /ips/doc/_search
{
"size": 0,
"aggs" : {
"ip_ranges" : {
"ip_range" : {
"field" : "ip",
"ranges" : [
{ "mask" : "192.168.1.0/24" },
{ "mask" : "192.168.2.0/25" }
],
"keyed": true
}
}
}
}
----------ジオ距離集約-------
DELETE /museums
PUT /museums
{
"mappings": {
"doc": {
"properties": {
"location": {
"type": "geo_point"
}
}
}
}
}
POST /museums/doc/_bulk?refresh
{"index":{"_id":1}}
{"location": "52.374081,4.912350", "name": "NEMO Science Museum"}
{"index":{"_id":2}}
{"location": "52.369219,4.901618", "name": "Museum Het Rembrandthuis"}
{"index":{"_id":3}}
{"location": "52.371667,4.914722", "name": "Nederlands Scheepvaartmuseum"}
{"index":{"_id":4}}
{"location": "51.222900,4.405200", "name": "Letterenhuis"}
{"index":{"_id":5}}
{"location": "48.861111,2.336389", "name": "Musée du Louvre"}
{"index":{"_id":6}}
{"location": "48.860000,2.327000", "name": "Musée d'Orsay"}
座標点を指定何点距離範囲内の文書のバレル、デフォルトの単位:M(メートル)
POST /museums/_search?size=0
{
"aggs" : {
"rings_around_amsterdam" : {
"geo_distance" : {
"field" : "location",
"origin" : "52.3760, 4.894",
"ranges" : [
{ "to" : 100000 },
{ "from" : 100000, "to" : 300000 },
{ "from" : 300000 }
]
}
}
}
}
キロメートルに指定された単位
(インチインチ)、ヤード(ヤードcodescale)、キロ(キロ)、センチメートル(センチメートル)、(ミリメートル)でマイル(マイルのマイル)を、:使用することができます。
POST /museums/_search?size=0
{
"aggs" : {
"rings_around_amsterdam" : {
"geo_distance" : {
"field" : "location",
"origin" : "52.3760, 4.894",
"unit" : "km",
"ranges" : [
{ "to" : 100000 },
{ "from" : 100000, "to" : 300000 },
{ "from" : 300000 }
]
}
}
}
}
距離モードを指定します。
distance_type:円弧の曲率(デフォルト、高精度、正確な計算)、プレーン(より良い性能、より速く、しかし幾分精度)
POST /museums/_search?size=0
{
"aggs" : {
"rings" : {
"geo_distance" : {
"field" : "location",
"origin" : "52.3760, 4.894",
"unit" : "km",
"distance_type" : "plane",
"ranges" : [
{ "to" : 100 },
{ "from" : 100, "to" : 300 },
{ "from" : 300 }
]
}
}
}
}
使用キー付き
POST /museums/_search?size=0
{
"aggs" : {
"rings_around_amsterdam" : {
"geo_distance" : {
"field" : "location",
"origin" : "52.3760, 4.894",
"ranges" : [
{ "to" : 100000 },
{ "from" : 100000, "to" : 300000 },
{ "from" : 300000 }
],
"keyed": true
}
}
}
}
著者:ワンポイントゼロ
リンクします。https://www.jianshu.com/p/f79309adb63b
出典:ジェーンの本が
著者によって著作権で保護されています。著者は認可商業転載してください接触、非商用の転載は、ソースを明記してください。