安裝環(huán)境及版本:
- 系統(tǒng):es 7.12.0
一 圖形化界面
dsl: Domain Specific Language 的縮寫,中文翻譯為領(lǐng)域特定語言
-
圖形化界面
kibana: https://artifacts.elastic.co/downloads/kibana/kibana-7.12.0-linux-x86_64.tar.gz
chrome插件: elasticsearch-head
-
sql 轉(zhuǎn) dsl 語法
-
kibana轉(zhuǎn)化
POST /_sql/translate {"query":"select * from complex where name ='張三'"}
-
二 基礎(chǔ)DSL
-
運(yùn)行狀態(tài)信息
# 檢測集群是否健康。 確保9200端口號(hào)可用 curl 'localhost:9200/_cat/health?v' # 獲取集群的節(jié)點(diǎn)列表 curl 'localhost:9200/_cat/nodes?v' -
索引
# 創(chuàng)建索引 curl -XPUT 'localhost:9200/test?pretty' # 查看單個(gè)索引詳情 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
-
新建數(shù)據(jù)
# 指定索引名 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}' #不指定索引名(自動(dòng)生成) curl -H "Content-Type: application/json" -XPOST 'localhost:9200/test/_doc?pretty' -d '{"name": "張三3","age":3}' -
查詢?nèi)?/p>
curl -XGET 'localhost:9200/test/_doc/_search?pretty' -
根據(jù) index id查詢
#values 索引id,可以多個(gè) 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"#分析數(shù)據(jù)分詞結(jié)構(gòu) 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 }