Elasticsearch 常用查詢命令

安裝環(huán)境及版本:

  • 系統(tǒng):es 7.12.0

一 圖形化界面

dsl: Domain Specific Language 的縮寫,中文翻譯為領(lǐng)域特定語言

  1. 圖形化界面

  2. sql 轉(zhuǎn) dsl 語法

    • kibana轉(zhuǎn)化

      POST /_sql/translate 
      {"query":"select * from complex where name ='張三'"}
      
    • 在線工具: https://tools.pet/sql/sql-es

二 基礎(chǔ)DSL

  1. 運(yùn)行狀態(tài)信息

    # 檢測集群是否健康。 確保9200端口號(hào)可用
    curl 'localhost:9200/_cat/health?v'
    # 獲取集群的節(jié)點(diǎn)列表
    curl 'localhost:9200/_cat/nodes?v'
    
  2. 索引

    # 創(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'
    
  3. 文檔

    # 新增
    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

  1. 新建數(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}'
    
  2. 查詢?nèi)?/p>

    curl -XGET 'localhost:9200/test/_doc/_search?pretty'
    
  3. 根據(jù) index id查詢

    #values 索引id,可以多個(gè)
    curl -H "Content-Type: application/json" -XPOST 'localhost:9200/_search?pretty' -d '{"query":{"ids":{"values":["1"]}}}'
    
  4. 查看映射類型(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"]}'
    
  5. 模糊查詢

    # 模糊查詢,排序,分頁
    curl -XGET "localhost:9200/test/_search" -H 'Content-Type: application/json' -d'{  "query": {    "term": {      "name.keyword": "張三1"    }  }}'
    
  6. 高亮查詢

    GET test/_doc/_search
    {
      "query":{
        "match":{
          "name":"張三"
        }
      },
      "highlight":{
        "fields":{
          "name":{}
        }
      }
    }
    
  7. 排序

    # 模糊查詢,排序,分頁
    GET test/_doc/_search
    {
     "query":{
       "match":{
         "name":"張三1"
       }
     },
     "sort":{
       "age":{
         "order":"desc"
       }
     }
    }
    
  8. 分頁

    # 模糊查詢,排序,分頁
    GET test/_doc/_search
    {
     "query":{
       "match":{
         "name":"張三1"
       }
     },
     "from":0,
     "size":10
    }
    
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容