Elasticsearch 常用查询语句大全

本文涉及的产品
Elasticsearch Serverless通用抵扣包,测试体验金 200元
简介: 【7月更文挑战第8天】Elasticsearch 常用查询语句大全

在使用 es 的过程中,总是会用到 es 的查询语句,那么下面主要对 es 日常用到的查询语句 做一个总结展示,记录查询语句方便后续用到时查询。

查询现有索引

查询当前连接的 es 的所有索引

GET /_cat/indices?v

image.png

创建索引

简单的创建索引语句如下,当然你也可以在创建索引时指定分片等

PUT /test
{
  "mappings": {
    "test":{
      "properties": {
        "content":{
          "type": "text", 
          "analyzer": "hanlp"
        }
      }
    }
  }
}

image.png

查询索引结构

当你需要用到某个索引,但是由于时间久忘记具体索引字段时可以使用如下语句查询索引结构,索引字段

GET /test/_mapping

image.png

插入数据

可以通过put 命令为指定索引插入数据,比如

PUT test/test/1
{
  "content":"初级会计资格证"
}

image.png

查询索引数据

通过以下命令查询索引数据,暂时没有指定具体的查询条件

GET test/_search

image.png

查看索引磁盘占用信息

可以通过命令查询指定索引的磁盘占用信息

GET /_cat/indices/test?v

image.png

删除索引

删除索引时需要注意,删除的索引数据不能恢复,谨慎操作

DELETE test

查看分词器分词结果

对于新的分词器,不了解其分词后的具体效果,可以通过命令执行分词器查看其分词结果

POST /_analyze
{
  "analyzer": "hanlp", 
  "text": "查看哦,同时我们也会给您分配专属的学习规划师带"
}

image.png

指定查询数量

当需要指定每页查询数量时可以通过 size 控制

GET crm_meiqia_conversation/_search
{
  "size":200
}

指定条件查询

执行条件查询分为多种条件,下面来指定一个基本的查询

GET crm_meiqia_conversation/_search
{
  "query": {
    "bool" : {
      "must" : [
        {
          "bool" : {
            "filter" : [
              {
                "range" : {
                  "convStartDate" : {
                    "from" : 1719849600000,
                    "to" : null,
                    "include_lower" : true,
                    "include_upper" : true,
                    "boost" : 1.0
                  }
                }
              },
              {
                "range" : {
                  "convEndDate" : {
                    "from" : null,
                    "to" : 1719935999000,
                    "include_lower" : true,
                    "include_upper" : true,
                    "boost" : 1.0
                  }
                }
              },
              {
                "term" : {
                  "clientInfo.uid" : {
                    "value" : "34546407",
                    "boost" : 1.0
                  }
                }
              },
              {
                "term" : {
                  "agentId" : {
                    "value" : "10002351",
                    "boost" : 1.0
                  }
                }
              },
              {
                "match_phrase_prefix" : {
                  "convContent.content" : {
                    "query" : "请您稍等",
                    "slop" : 0,
                    "max_expansions" : 50,
                    "boost" : 1.0
                  }
                }
              }
            ],
            "adjust_pure_negative" : true,
            "boost" : 1.0
          }
        }
      ],
    "adjust_pure_negative" : true,
    "boost" : 1.0
  }
  }
}

image.png

数据迁移

当需要更改索引结构时,需要先把原有索引的数据迁移到相同临时索引中,待更改索引结构之后再迁移回来,迁移数据用到

POST _reindex
{  
  "source": {  
    "index": "crm_meiqia_conversation",
    "size":500
  },  
  "dest": {  
    "index": "crm_meiqia_conversation_tmp"  
  }
}

或者异步迁移数据

POST _reindex?wait_for_completion=false
{  
  "source": {  
    "index": "crm_meiqia_conversation",
    "size":500
  },  
  "dest": {  
    "index": "crm_meiqia_conversation_tmp"  
  }
}

异步迁移数据,数据迁移结果通过命令查看

GET /_tasks/cbwVMU6UTACFPxKW0zkOcw:456723575

统计索引数据量

想要统计索引的全部数据量,可以通过如下命令

GET crm_meiqia_conversation/_count

image.png

更新数据

更新指定索引指定对象字段中数据内容

POST test/test/1/_update
{
  "doc":{
    "content":"ceshi测试"
  }
}

image.png

数据更新成功后查看数据可以看到

image.png

到这里关于es 日常用到的相关语句差不多整理完了,有需要的可以查阅哈。


相关实践学习
以电商场景为例搭建AI语义搜索应用
本实验旨在通过阿里云Elasticsearch结合阿里云搜索开发工作台AI模型服务,构建一个高效、精准的语义搜索系统,模拟电商场景,深入理解AI搜索技术原理并掌握其实现过程。
ElasticSearch 最新快速入门教程
本课程由千锋教育提供。全文搜索的需求非常大。而开源的解决办法Elasricsearch(Elastic)就是一个非常好的工具。目前是全文搜索引擎的首选。本系列教程由浅入深讲解了在CentOS7系统下如何搭建ElasticSearch,如何使用Kibana实现各种方式的搜索并详细分析了搜索的原理,最后讲解了在Java应用中如何集成ElasticSearch并实现搜索。  
相关文章
|
8月前
|
数据采集 JSON 数据挖掘
Elasticsearch 的DSL查询,聚合查询与多维度数据统计
Elasticsearch的DSL查询与聚合查询提供了强大的数据检索和统计分析能力。通过合理构建DSL查询,用户可以高效地搜索数据,并使用聚合查询对数据进行多维度统计分析。在实际应用中,灵活运用这些工具不仅能提高查询效率,还能为数据分析提供深入洞察。理解并掌握这些技术,将显著提升在大数据场景中的分析和处理能力。
384 20
|
存储 JSON 监控
大数据-167 ELK Elasticsearch 详细介绍 特点 分片 查询
大数据-167 ELK Elasticsearch 详细介绍 特点 分片 查询
693 4
|
存储 自然语言处理 关系型数据库
Elasticsearch 查询时 term、match、match_phrase、match_phrase_prefix 的区别
【7月更文挑战第3天】Elasticsearch 查询时 term、match、match_phrase、match_phrase_prefix 的区别
|
JSON 自然语言处理 算法
ElasticSearch基础2——DSL查询文档,黑马旅游项目查询功能
DSL查询文档、RestClient查询文档、全文检索查询、精准查询、复合查询、地理坐标查询、分页、排序、高亮、黑马旅游案例
ElasticSearch基础2——DSL查询文档,黑马旅游项目查询功能
|
自然语言处理 搜索推荐 Java
SpringBoot 搜索引擎 海量数据 Elasticsearch-7 es上手指南 毫秒级查询 包括 版本选型、操作内容、结果截图(一)
SpringBoot 搜索引擎 海量数据 Elasticsearch-7 es上手指南 毫秒级查询 包括 版本选型、操作内容、结果截图
275 0
|
存储 自然语言处理 搜索推荐
SpringBoot 搜索引擎 海量数据 Elasticsearch-7 es上手指南 毫秒级查询 包括 版本选型、操作内容、结果截图(二)
SpringBoot 搜索引擎 海量数据 Elasticsearch-7 es上手指南 毫秒级查询 包括 版本选型、操作内容、结果截图(二)
243 0
|
自然语言处理 Java 关系型数据库
ElasticSearch 实现分词全文检索 - 聚合查询 cardinality
ElasticSearch 实现分词全文检索 - 聚合查询 cardinality
405 1
|
存储 数据库 索引
面试题ES问题之动态映射的定义如何解决
面试题ES问题之动态映射的定义如何解决
136 1
|
存储 自然语言处理 Java
ElasticSearch 实现分词全文检索 - 经纬度定位商家距离查询
ElasticSearch 实现分词全文检索 - 经纬度定位商家距离查询
275 0
|
自然语言处理 Java
ElasticSearch 实现分词全文检索 - 高亮查询
ElasticSearch 实现分词全文检索 - 高亮查询
183 0