Es基础
关系:
ElasticSearch-> mysql
index (索引)-> 数据库
Documents(文档) -> row(行)
Fileds(字段)-> column
正排索引 id 内容,类似表格
倒排索引 :keywords : ids
Postman访问实例
创建索引:创建库
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