当前位置: 代码迷 >> 综合 >> Elasticsearch7.x DSL语法实践手册
  详细解决方案

Elasticsearch7.x DSL语法实践手册

热度:50   发布时间:2023-12-03 19:35:05.0

程序员小强总结的 ElasticSearch专题超全总结篇在这里:传送门
结合官网资料,做了更详细的实际使用总结。
从单机版安装到集群高可用生产环境搭建、基本概念(索引,分片,节点,倒排索引…)、DSL语法实践、分词器(内置+中文)、SpringBoot整合实战、仿京东商品搜索实战实现。

1.数据类型介绍

  • Text:字符串类型, 可分词,不可参与聚合
  • Keyword:不可分词,数据会作为完整字段进行匹配,可以参与聚合
  • Date:日期类型,通常配合format使用 比如{“type”:”date”,”format”:”yyyy-MM-dd”}
  • Long,integer,short…
  • Boolean
  • Array:数组类型
  • Object:一般是json
  • Ip:ip地址
  • geo_point:地理位置 {“lat”:“lon”:}

2.CURL调用方式

本文相关DSL语法实例,所有的执行方式都是在ES客户端工具 kibana 上执行的。
当然也可以使用比如 postMan 、curl命令执行

实例

# 查询节点信息
curl -XGET -u elastic:1234567 'http://127.0.0.1:9200/_cat/nodes'

在这里插入图片描述

CURL方式调用公式

curl -X<VERB> -u <USERNAME>:<PASSWORD> '<PROTOCOL>://<HOST>:<PORT>/<PATH>?<QUERY_STRING>' -d '<BODY>'

参数含义

-X:指定请求方式 示例: GET <VERB>:GET,POST,PUT,DELETE   一般请求为GET、提交变更为POST、上传文件为PUT、删除操作为DELETE<USERNAME> 如果开启了安全验证需要填账号名 , 示例:elastic<PASSWORD> 账户对应的密码 , 示例:1234567<PROTOCOL>:协议,一般为HTTP协议, 示例:http<HOST>:主机,可为主机的IP地址或Hostname, 示例:127.0.0.1<PORT>:主机端口, 示例:9200<PATH>:路径,主机端口后的路径,示例:/_cat, /_search, /_cluster <QUERY_STRING>:查询字符串匹配规则-d:指定主体内容<BODY>:json格式的请求主体

3.cat节点相关

#查询所有节点
GET /_cat/nodes?v#查看节点健康
GET _cat/health#查看所有索引信息
GET /_cat/indices?v#查看指定索引文档总数
GET my_index/_count#查看所有索引文档总数
GET _all/_count#查看所有模板
GET _cat/templates#查看所有分片信息
GET /_cat/shards?v#查看单个索引分片信息
GET /_cat/shards/my_index?v#查看插件
GET /_cat/plugins?v

关于?v参数的说明
比如查询节点 GET /_cat/nodes?v 带上?v会返回带有标题的信息更全面。
在这里插入图片描述

4.索引相关

传送门

5.文档管理

传送门

6.条件查询

传送门

7.分页查询

传送门

8.聚合查询

传送门

关注程序员小强公众号更多编程趣事,知识心得与您分享
?关注“程序员小强”发送关键字“elasticSearch”到公众号获取相关篇