安装环境及版本:
- 系统:es 7.12.0
一 图形化界面
dsl: Domain Specific Language 的缩写,中文翻译为领域特定语言
-
图形化界面
-
kibana: https://artifacts.elastic.co/downloads/kibana/kibana-7.12.0-linux-x86_64.tar.gz
-
chrome插件: elasticsearch-head
-
-
sql 转 dsl 语法
-
kibana转化
POST /_sql/translate {"query":"select * from complex where name ='张三'"}
-
二 基础DSL
-
运行状态信息
# 检测集群是否健康。 确保9200端口号可用 curl 'localhost:9200/_cat/health?v' # 获取集群的节点列表 curl 'localhost:9200/_cat/nodes?v'
-
索引
# 创建索引 curl -XPUT 'localhost:9200/test?pretty' # 查看单个索引详情 curl localhost:9200/test?pretty # 列出所有索引 curl 'localhost:9200/_cat/indices?v' #删除索引 curl -XDELETE 'localhost:9200/test?pretty'
-
文档
# 新增 curl -H "Content-Type: application/json" -XPUT 'localhost:9200/test/_doc/1?pretty' -d '{"name": "张三"}' # 查询 curl -XGET 'localhost:9200/test/_doc/1?pretty' # 修改 curl -H "Content-Type: application/json" -XPOST 'localhost:9200/test/_doc/1/_update?pretty' -d '{"doc":{"name":"李四"}}' # 删除 curl -XDELETE 'localhost:9200/test/_doc/1?pretty'
三 高级DSL
-
新建数据
# 指定索引名 curl -H "Content-Type: application/json" -XPOST 'localhost:9200/test/_doc/1?pretty' -d '{"name": "张三1","age":1}' curl -H "Content-Type: application/json" -XPOST 'localhost:9200/test/_doc/2?pretty' -d '{"name": "张三2","age":2}' #不指定索引名(自动生成) curl -H "Content-Type: application/json" -XPOST 'localhost:9200/test/_doc?pretty' -d '{"name": "张三3","age":3}'
-
查询全部
curl -XGET 'localhost:9200/test/_doc/_search?pretty'
-
根据 index id查询
#values 索引id,可以多个 curl -H "Content-Type: application/json" -XPOST 'localhost:9200/_search?pretty' -d '{"query":{"ids":{"values":["1"]}}}'
-
查看映射类型(mapping)
#查看索引(index)的的映射(mapping)类型 curl -XGET "http://localhost:9200/test/_mapping"
#分析数据分词结构 curl -XGET "localhost:9200/test/_analyze" -H 'Content-Type: application/json' -d'{ "field": "name", "text": ["张三1"]}'
-
模糊查询
# 模糊查询,排序,分页 curl -XGET "localhost:9200/test/_search" -H 'Content-Type: application/json' -d'{ "query": { "term": { "name.keyword": "张三1" } }}'
-
高亮查询
GET test/_doc/_search { "query":{ "match":{ "name":"张三" } }, "highlight":{ "fields":{ "name":{} } } }
-
排序
# 模糊查询,排序,分页 GET test/_doc/_search { "query":{ "match":{ "name":"张三1" } }, "sort":{ "age":{ "order":"desc" } } }
-
分页
# 模糊查询,排序,分页 GET test/_doc/_search { "query":{ "match":{ "name":"张三1" } }, "from":0, "size":10 }
网友评论