ElasticSearch-> mysql
index (索引)-> 数据库
Documents(文档) -> row(行)
Fileds(字段)-> column
正排索引 id 内容,类似表格
倒排索引 :keywords : ids
ip/索引名
请求路径:PUT http://127.0.0.1:9200/shopping
请求体:none
成功:
{
"acknowledged": true,
"shards_acknowledged": true,
"index": "shopping"
}
ip/_cat/indices?v=
请求路径:GET http://127.0.0.1:9200/_cat/indices?v=
请求体:none
成功:
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
请求路径: POST http://127.0.0.1:9200/shopping/_doc
请求体:
{
"name": "小米",
"price": 1999,
"url": "htp12344"
}
成功:
{
"_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
请求路径:POST http://127.0.0.1:9200/shopping/_doc/1006
请求体:
{
"name": "魅族21",
"price": 2999,
"url": "htp12344"
}
成功:
{
"_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
请求路径: GET http://127.0.0.1:9200/shopping/_doc/1001
请求体:none
成功:
{
"_index": "shopping",
"_type": "_doc",
"_id": "1001",
"_version": 6,
"_seq_no": 7,
"_primary_term": 1,
"found": true,
"_source": {
"name": "小米",
"price": 3999,
"url": "htp123"
}
}
ip/索引/_search
请求路径: GET http://127.0.0.1:9200/shopping/_search
请求体:none
成功:
{
"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"
}
}
]
}
}
请求路径: GET http://127.0.0.1:9200/shopping/_search
{
"query": {
"match": { //拆词单个查询
"name": "华"
}
}
}
成功:
{
"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"
}
}
]
}
}
请求路径: GET http://127.0.0.1:9200/shopping/_search
请求体:
{
"query": {
"match_phrase": { //全词匹配查询
"name": "华为1"
}
},
"highlight": { //高亮显示这个字段
"fields": {
"name": {}
}
}
}
成功:
{
"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>"
]
}
}
]
}
}
请求路径: GET http://127.0.0.1:9200/shopping/_search
请求体:
{
"query": {
"bool": {
"must": [ //should表示或,must表示并
{
"match": {
"name": "小米"
}
},
{
"match": {
"price": 3999
}
}
],
"filter": {
"range": {
"price": {
"lt": 5000
}
}
}
}
}
}
成功:
{
"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"
}
}
]
}
}
请求路径: GET http://127.0.0.1:9200/shopping/_search
请求体:
{
"aggs": {
"price_group": { //随意取名
"terms": { //分组
"field": "price" //分组字段
}
}
}
}
{
"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
请求路径: PUT http://127.0.0.1:9200/shopping/_doc/1001
请求体:
{
"name": "小米",
"price": 9999,
"url": "htp123"
}
成功:
{
"_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
请求路径:PUT http://127.0.0.1:9200/shopping/_update/1001
请求体:
{
"doc": {
"name": "华为1"
}
}
成功:
{
"_index": "shopping",
"_type": "_doc",
"_id": "1001",
"_version": 8,
"result": "updated",
"_shards": {
"total": 2,
"successful": 1,
"failed": 0
},
"_seq_no": 23,
"_primary_term": 7
}
删除文档:
请求路径:DELETE http://127.0.0.1:9200/shopping/_doc/1001
请求体:none
向ES发送请求时,如何创建请求对象呢?官方推荐的builder patter,在面对复杂的请求对象结构时还好用吗?有没有更加直观简洁的方法,尽在本文一网打尽