美文网首页
Elasticsearch 常用查询命令

Elasticsearch 常用查询命令

作者: Lrxc | 来源:发表于2021-06-07 12:06 被阅读0次

    安装环境及版本:

    • 系统:es 7.12.0

    一 图形化界面

    dsl: Domain Specific Language 的缩写,中文翻译为领域特定语言

    1. 图形化界面

    2. sql 转 dsl 语法

    二 基础DSL

    1. 运行状态信息

      # 检测集群是否健康。 确保9200端口号可用
      curl 'localhost:9200/_cat/health?v'
      # 获取集群的节点列表
      curl 'localhost:9200/_cat/nodes?v'
      
    2. 索引

      # 创建索引
      curl -XPUT 'localhost:9200/test?pretty'
      # 查看单个索引详情
      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. 新建数据

      # 指定索引名
      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}'
      
    2. 查询全部

      curl -XGET 'localhost:9200/test/_doc/_search?pretty'
      
    3. 根据 index id查询

      #values 索引id,可以多个
      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"
      
      #分析数据分词结构
      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
      }
      

    相关文章

      网友评论

          本文标题:Elasticsearch 常用查询命令

          本文链接:https://www.haomeiwen.com/subject/lyzzsltx.html