欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

Elasticsearch——CRUD

时间:2023-07-16
文章目录

用到的工具索引数据操作

添加删除修改查询 复杂查询全文搜索 用到的工具

Elasticsearch

Kibana:方便的查询。

见Docker——配置Elasticsearch

索引

Kibana界面地址:http://localhost:5601/app/dev_tools#/console

创建

user是索引名称。

PUT /user

获取

GET /user

删除

DELETe /user

列出所有

GET /_cat/indices?v

数据操作 添加

POST /user/_doc{"name":"张三","age":23}

指定ID

POST /user/_doc/1{"name":"李四","age":16}

删除

DELETE /user/_doc/1

修改

put全部修改

PUT /user/_doc/1{ "age":26}

post修改一部分

POST /user/_update/1{ "doc":{"age":11}}

查询

所有

GET /user/_search

指定列,排除列

GET /user/_search{ "_source": { "includes": ["name"], "excludes": ["age"] }}

ID查

GET /user/_search/1

复杂查询

查询文档数量

GET /user/_count

查询一个词语的分词结果

POST /_analyze{ "text": ["hello world"]}

条件查询

GET /user/_search{ "query": { "match":{ "age":"24" } }}

分页查询

GET /user/_search{ "query": { "match":{ "age":"24" } }, "from": 0, "size":1}

筛选列

GET /user/_search{ "query": { "match":{ "age":"24" } }, "from": 0, "size":1, "_source": ["name"]}

排序

GET /user/_search{ "query": { "match":{ "age":"24" } }, "from": 0, "size":1, "_source": ["name"], "sort": { "age": { "order": "desc" } }}

多条件

而且

GET /user/_search{ "query": { "bool":{ "must":[ { "match": { "age": "24" } },{ "match": { "name": "张三" } } ] } }}

或者

GET /user/_search{ "query": { "bool":{ "should":[ { "match": { "age": "24" } },{ "match": { "age": "16" } } ] } }}

范围

GET /user/_search{ "query": { "bool":{ "filter": { "range": { "age": { "gte": 18, "lte": 200 } } } } }}

高亮显示(HTML处理)

GET /user/_search{ "query": { "match":{ "name":"张" } }, "highlight": { "fields": { "name": {} } }}

分组

GET /user/_search{ "aggs": { "通缉名单": { "terms": { "field": "age" } } }}

统计

GET /user/_search{ "aggs": { "通缉名单": { "avg": { "field": "age" } } }}

全文搜索

之前只是当SQL来用,很捞。

查一个张,就能查到张三

GET /user/_search{ "query": { "match":{ "name":"张" } }}

完全匹配,只有张才行。

GET /user/_search{ "query": { "match_phrase":{ "name":"张" } }}

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。