0
点赞
收藏
分享

微信扫一扫

ES操作语句整理

往复随安_5bb5 2023-05-03 阅读 102

ES操作语句整理

引言

在本文中将介绍 ElasticSearch操作语句的基础和高级操作,以及这些技术背后的原理和应用以便更好地使用ES进行数据分析和应用开发

索引操作语句

创建新索引及指定索引

创建名为my_sample_index的索引,创建成功返回主要属性:

PUT my_sample_index

指定my_sample_index索引为“day”类型:

PUT my_sample_index/day

索引的修改和删除操作

修改my_sample_index索引中的mapping属性:

PUT my_sample_index/_mapping/day
{
    "properties": {
        "name": {
            "type": "text"
        }
    }
}

删除名为test_index的索引:

DELETE test_index

文档操作语句

创建文档

创建名为my_sample_index/day的文档:

PUT my_sample_index/day/1
{
  "name": "今天"
}

更新文档

更新id为1的文档的内容:

PUT my_sample_index/day/1
{
  "name": "今天",
  "message": "晴天!"
}

删除文档

删除id为1的文档:

DELETE my_sample_index/day/1

查找文档

查找名为my_sample_index/day索引中所有文档。size表示返回文档数:

GET my_sample_index/day/_search?size=100

按name字段升序排序,并取前10条记录:

GET my_sample_index/day/_search?sort=name:asc&size=10

聚合操作语句

聚合操作的定义和实例

统计my_sample_index/day索引中的文档总数:

GET my_sample_index/day/_count

聚合操作中的排序和筛选

按照name属性升序排序:

GET my_sample_index/day/_search?q=name:*&sort=name:asc

筛选条件为name为“今天”:

GET my_sample_index/day/_search?q=name:今天

聚合操作中的日期范围查询和范围查询

日期范围查询,在name字段中查询日期介于2023-05-01和2023-05-02之间的文档:

GET my_sample_index/day/_search
{
  "query": {
    "range": {
      "name": {
        "gte": "2023-05-01",
        "lte": "2023-05-02"
      }
    }
  }
}

范围查询,在price字段中查询介于100和200之间的文档:

GET my_sample_index/day/_search
{
  "query": {
    "range": {
      "price": {
        "gte": 100,
        "lte": 200
      }
    }
  }
}

配置参数

配置参数在ES操作中的作用

配置参数用于修改ES操作的默认行为。例如:

  • GET操作,默认返回文档的_source属性,可以使用_source=false来关闭返回_source属性。
  • sort操作,默认进行升序排序,可以使用sort=name:desc来进行降序排序。

常用的配置参数举例

禁用查询操作的source属性:

GET my_sample_index/day/1?_source=false

排序:

GET my_sample_index/day/_search?q=name:*&sort=name:asc

PUT、POST和DELETE方法

PUT、POST、DELETE三种方法都可以用于ES操作。其中,PUT方法通常用来更新文档,POST方法则用来进行索引和搜索操作,DELETE用来删除文档和索引。以下是它们的使用示例:

PUT方法

更新id为1的文档:

PUT my_sample_index/day/1
{
  "message": "晴天!"
}

POST方法

搜索my_sample_index/day索引中所有名字为“今天”的文档:

POST my_sample_index/day/_search
{
  "query":{
    "match":{
      "name":"今天"
    }
  }
}

DELETE方法

删除id为1的文档:

DELETE my_sample_index/day/1

ES操作语句的应用案例

搜索引擎

ES可以用作搜索引擎,实现了Google搜索的许多功能。例如,ES可以处理关键词,支持嵌套查询和分组查询等操作

数据分析和可视化

ES可以用于知识图谱和数据可视化的应用。它可以快速获取和处理大量数据,并将其可视化。您可以使用ES来分析Web日志,监控网站访问量和响应时间,或者对销售数据进行分析和预测

分布式应用开发

ES是一个分布式系统,可以运行在多个节点上。这意味着它可以处理海量数据,提供高可用性和卓越的性能。您可以使用ES来构建分布式应用系统,比如电商网站、社交媒体应用和智能嵌入式设备等

举报

相关推荐

0 条评论