es请求方式调用

Es基础

关系:

ElasticSearch-> mysql

index (索引)-> 数据库

Documents(文档) -> row(行)

Fileds(字段)-> column

正排索引 id 内容,类似表格

倒排索引 :keywords : ids

Postman访问实例

创建索引:创建库

ip/索引名

json 复制代码
请求路径:PUT http://127.0.0.1:9200/shopping
请求体:none

成功:

json 复制代码
{
	"acknowledged": true,
	"shards_acknowledged": true,
	"index": "shopping"
}
查询当前存在索引:

ip/_cat/indices?v=

json 复制代码
请求路径:GET  http://127.0.0.1:9200/_cat/indices?v=
请求体:none

成功:

json 复制代码
health status index            uuid                   pri rep docs.count docs.deleted store.size pri.store.size
green  open   .geoip_databases 5vZtZiLXTw-ZnE-gxFK4RA   1   0         33           35     34.1mb         34.1mb
yellow open   user1            XvuPXH4GR3qu9kYgI1vMTg   1   1          0            0       226b           226b
yellow open   product          OuJtZ2GNQjaANql9jHIhdw   1   1          0            0       226b           226b
yellow open   user             84VHenNTTtaJyKUQasAZXA   1   1          3            0      4.8kb          4.8kb
yellow open   shopping         vqraISHNSFioVa4h58y_4w   1   1         10            6       28kb           28kb
创建文档:添加行数据

ip/索引名/_doc

json 复制代码
请求路径: POST  http://127.0.0.1:9200/shopping/_doc
请求体:
{
    "name": "小米",
    "price": 1999,
    "url": "htp12344"
}

成功:

json 复制代码
{
	"_index": "shopping",
	"_type": "_doc",
	"_id": "0i0_WI8Bs7gKHbbSH-sS",
	"_version": 1,
	"result": "created",
	"_shards": {
		"total": 2,
		"successful": 1,
		"failed": 0
	},
	"_seq_no": 20,
	"_primary_term": 7
}

指定id创建文档:

ip/索引名/_doc/id

json 复制代码
请求路径:POST http://127.0.0.1:9200/shopping/_doc/1006
请求体:
{
    "name": "魅族21",
    "price": 2999,
    "url": "htp12344"
}

成功:

json 复制代码
{
	"_index": "shopping",
	"_type": "_doc",
	"_id": "1006",
	"_version": 3,
	"result": "updated",
	"_shards": {
		"total": 2,
		"successful": 1,
		"failed": 0
	},
	"_seq_no": 21,
	"_primary_term": 7
}
查询单挑索引:查询单条数据

ip/索引/_doc/id

json 复制代码
请求路径: GET  http://127.0.0.1:9200/shopping/_doc/1001
请求体:none

成功:

json 复制代码
{
	"_index": "shopping",
	"_type": "_doc",
	"_id": "1001",
	"_version": 6,
	"_seq_no": 7,
	"_primary_term": 1,
	"found": true,
	"_source": {
		"name": "小米",
		"price": 3999,
		"url": "htp123"
	}
}
查询文档列表:列表查询数据

ip/索引/_search

json 复制代码
请求路径: GET  http://127.0.0.1:9200/shopping/_search
请求体:none

成功:

json 复制代码
{
	"took": 2,
	"timed_out": false,
	"_shards": {
		"total": 1,
		"successful": 1,
		"skipped": 0,
		"failed": 0
	},
	"hits": {
		"total": {
			"value": 3,
			"relation": "eq"
		},
		"max_score": 1,
		"hits": [
			{
				"_index": "shopping",
				"_type": "_doc",
				"_id": "F2NHrY4BJgxAo-jxuDZv",
				"_score": 1,
				"_source": {
					"name": "小米",
					"price": 1999,
					"url": "htp12344"
				}
			},
			{
				"_index": "shopping",
				"_type": "_doc",
				"_id": "1001",
				"_score": 1,
				"_source": {
					"name": "小米",
					"price": 3999,
					"url": "htp123"
				}
			},
			{
				"_index": "shopping",
				"_type": "_doc",
				"_id": "1004",
				"_score": 1,
				"_source": {
					"name": "华为",
					"price": 9999,
					"url": "htp123"
				}
			}
		]
	}
}
条件查询:拆词查询
json 复制代码
请求路径: GET  http://127.0.0.1:9200/shopping/_search

{
  "query": {
 "match": { //拆词单个查询
   "name": "华"
   }
  }
}

成功:

json 复制代码
{
	"took": 6,
	"timed_out": false,
	"_shards": {
		"total": 1,
		"successful": 1,
		"skipped": 0,
		"failed": 0
	},
	"hits": {
		"total": {
			"value": 3,
			"relation": "eq"
		},
		"max_score": 1.3340157,
		"hits": [
			{
				"_index": "shopping",
				"_type": "_doc",
				"_id": "1005",
				"_score": 1.3340157,
				"_source": {
					"name": "华为",
					"price": 3999,
					"url": "htp123"
				}
			},
			{
				"_index": "shopping",
				"_type": "_doc",
				"_id": "1004",
				"_score": 1.3340157,
				"_source": {
					"name": "华为",
					"price": 9999,
					"url": "htp123"
				}
			},
			{
				"_index": "shopping",
				"_type": "_doc",
				"_id": "1001",
				"_score": 1.1120224,
				"_source": {
					"name": "华为1",
					"price": 9999,
					"url": "htp123"
				}
			}
		]
	}
}
全词匹配查询高亮查询:
json 复制代码
请求路径: GET  http://127.0.0.1:9200/shopping/_search
请求体:
{
    "query": {
        "match_phrase": { //全词匹配查询
            "name": "华为1"
        }
    },
    "highlight": { //高亮显示这个字段
        "fields": {
            "name": {}
        }
    }
}

成功:

json 复制代码
{
	"took": 58,
	"timed_out": false,
	"_shards": {
		"total": 1,
		"successful": 1,
		"skipped": 0,
		"failed": 0
	},
	"hits": {
		"total": {
			"value": 1,
			"relation": "eq"
		},
		"max_score": 4.0541162,
		"hits": [
			{
				"_index": "shopping",
				"_type": "_doc",
				"_id": "1001",
				"_score": 4.0541162,
				"_source": {
					"name": "华为1",
					"price": 9999,
					"url": "htp123"
				},
				"highlight": {
					"name": [
						"<em>华</em><em>为</em><em>1</em>"
					]
				}
			}
		]
	}
}
多条件范围查询:
json 复制代码
请求路径: GET  http://127.0.0.1:9200/shopping/_search

请求体:
{
    "query": {
        "bool": {
            "must": [ //should表示或,must表示并
                {
                    "match": {
                        "name": "小米"
                    }
                },
                {
                    "match": {
                        "price": 3999
                    }
                }
            ],
            "filter": {
                "range": {
                    "price": {
                        "lt": 5000
                    }
                }
            }
        }
    }
}

成功:

json 复制代码
{
	"took": 18,
	"timed_out": false,
	"_shards": {
		"total": 1,
		"successful": 1,
		"skipped": 0,
		"failed": 0
	},
	"hits": {
		"total": {
			"value": 2,
			"relation": "eq"
		},
		"max_score": 2.4093566,
		"hits": [
			{
				"_index": "shopping",
				"_type": "_doc",
				"_id": "jFvSmY4BzKCXziUqmd-Q",
				"_score": 2.4093566,
				"_source": {
					"name": "小米",
					"price": 3999,
					"url": "htp123"
				}
			},
			{
				"_index": "shopping",
				"_type": "_doc",
				"_id": "jVvYmY4BzKCXziUqX9-H",
				"_score": 2.4093566,
				"_source": {
					"name": "小米",
					"price": 3999,
					"url": "htp123"
				}
			}
		]
	}
}
聚合查询:
json 复制代码
请求路径: GET  http://127.0.0.1:9200/shopping/_search

请求体:
{
    "aggs": {
        "price_group": { //随意取名
            "terms": { //分组
                "field": "price" //分组字段
            }
        }
    }
}
json 复制代码
{
	"took": 38,
	"timed_out": false,
	"_shards": {
		"total": 1,
		"successful": 1,
		"skipped": 0,
		"failed": 0
	},
	"hits": {
		"total": {
			"value": 10,
			"relation": "eq"
		},
		"max_score": 1,
		"hits": [
			{
				"_index": "shopping",
				"_type": "_doc",
				"_id": "F2NHrY4BJgxAo-jxuDZv",
				"_score": 1,
				"_source": {
					"name": "小米",
					"price": 1999,
					"url": "htp12344"
				}
			},
			{
				"_index": "shopping",
				"_type": "_doc",
				"_id": "jFvSmY4BzKCXziUqmd-Q",
				"_score": 1,
				"_source": {
					"name": "小米",
					"price": 3999,
					"url": "htp123"
				}
			},
			{
				"_index": "shopping",
				"_type": "_doc",
				"_id": "jVvYmY4BzKCXziUqX9-H",
				"_score": 1,
				"_source": {
					"name": "小米",
					"price": 3999,
					"url": "htp123"
				}
			},
			{
				"_index": "shopping",
				"_type": "_doc",
				"_id": "0i0_WI8Bs7gKHbbSH-sS",
				"_score": 1,
				"_source": {
					"name": "魅族",
					"price": 1999,
					"url": "htp12344"
				}
			},
			{
				"_index": "shopping",
				"_type": "_doc",
				"_id": "1005",
				"_score": 1,
				"_source": {
					"name": "华为",
					"price": 3999,
					"url": "htp123"
				}
			},
			{
				"_index": "shopping",
				"_type": "_doc",
				"_id": "1002",
				"_score": 1,
				"_source": {
					"name": "小米",
					"price": 1999,
					"url": "htp123"
				}
			},
			{
				"_index": "shopping",
				"_type": "_doc",
				"_id": "1003",
				"_score": 1,
				"_source": {
					"name": "小米",
					"price": 999,
					"url": "htp123"
				}
			},
			{
				"_index": "shopping",
				"_type": "_doc",
				"_id": "1004",
				"_score": 1,
				"_source": {
					"name": "华为",
					"price": 9999,
					"url": "htp123"
				}
			},
			{
				"_index": "shopping",
				"_type": "_doc",
				"_id": "1006",
				"_score": 1,
				"_source": {
					"name": "魅族21",
					"price": 2999,
					"url": "htp12344"
				}
			},
			{
				"_index": "shopping",
				"_type": "_doc",
				"_id": "1001",
				"_score": 1,
				"_source": {
					"name": "华为1",
					"price": 9999,
					"url": "htp123"
				}
			}
		]
	},
	"aggregations": {
		"price_group": {
			"doc_count_error_upper_bound": 0,
			"sum_other_doc_count": 0,
			"buckets": [
				{
					"key": 1999,
					"doc_count": 3
				},
				{
					"key": 3999,
					"doc_count": 3
				},
				{
					"key": 9999,
					"doc_count": 2
				},
				{
					"key": 999,
					"doc_count": 1
				},
				{
					"key": 2999,
					"doc_count": 1
				}
			]
		}
	}
}
文档修改:修改行数据

ip/索引/_doc/id

json 复制代码
请求路径: PUT  http://127.0.0.1:9200/shopping/_doc/1001
请求体:
{
    "name": "小米",
    "price": 9999,
    "url": "htp123"
}

成功:

json 复制代码
{
  "_index": "shopping",
  "_type": "_doc",
  "_id": "1001",
  "_version": 7,
  "result": "updated",
  "_shards": {
   "total": 2,
   "successful": 1,
  "failed": 0
  },
  "_seq_no": 22,
  "_primary_term": 7
}
局部修改文档(某列)

ip/索引/_update/id

json 复制代码
请求路径:PUT  http://127.0.0.1:9200/shopping/_update/1001
请求体:
{
    "doc": {
        "name": "华为1"
    }
}

成功:

json 复制代码
{
	"_index": "shopping",
	"_type": "_doc",
	"_id": "1001",
	"_version": 8,
	"result": "updated",
	"_shards": {
		"total": 2,
		"successful": 1,
		"failed": 0
	},
	"_seq_no": 23,
	"_primary_term": 7
}

删除文档:

json 复制代码
请求路径:DELETE  http://127.0.0.1:9200/shopping/_doc/1001
请求体:none