当前位置: 首页 > news >正文

ES操作指南

# Creating a text file with the described Elasticsearch operations.

es_operations = """

Elasticsearch 基本操作语法:

1. 索引文档 (Index Documents):

   自动生成 ID:

   POST /index_name/_doc

   {

     "field1": "value1",

     "field2": "value2"

   }

   指定 ID:

   PUT /index_name/_doc/1

   {

     "field1": "value1",

     "field2": "value2"

   }

2. 获取文档 (Get Documents):

   按 ID 获取:

   GET /index_name/_doc/1

3. 更新文档 (Update Documents):

   部分更新文档:

   POST /index_name/_update/1

   {

     "doc": {

       "field2": "new_value"

     }

   }

4. 删除文档 (Delete Documents):

   按 ID 删除:

   DELETE /index_name/_doc/1

5. 查询文档 (Search Documents):

   Match 查询:

   GET /index_name/_search

   {

     "query": {

       "match": {

         "field1": "value"

       }

     }

   }

   Term 查询:

   GET /index_name/_search

   {

     "query": {

       "term": {

         "field1": "exact_value"

       }

     }

   }

   Bool 查询:

   GET /index_name/_search

   {

     "query": {

       "bool": {

         "must": [

           { "match": { "field1": "value" } },

           { "term": { "field2": "exact_value" } }

         ],

         "must_not": [

           { "term": { "field3": "value_to_exclude" } }

         ],

         "should": [

           { "match": { "field4": "optional_value" } }

         ]

       }

     }

   }

{

  "multi_match": {

    "query": "search text",

    "fields": ["field1", "field2", "field3"]

  }

}

6. 范围查询 (Range Queries):

   GET /index_name/_search

   {

     "query": {

       "range": {

         "timestamp": {

           "gte": "2024-01-01",

           "lte": "2024-12-31"

         }

       }

     }

   }

7. 聚合查询 (Aggregations):

   按字段分组 (Terms Aggregation):

  GET /index_name/_search

   {

     "size": 0,

     "aggs": {

       "group_by_field1": {

         "terms": {

           "field": "field1.keyword"

         }

       }

     }

   }

   统计 (Stats Aggregation):

  GET /index_name/_search

   {

     "size": 0,

     "aggs": {

       "field1_stats": {

         "stats": {

           "field": "field1"

         }

       }

     }

   }

8. 排序 (Sort):

   GET /index_name/_search

   {

     "query": {

       "match_all": {}

     },

     "sort": [

       { "field1": { "order": "asc" } },

       { "field2": { "order": "desc" } }

     ]

   }

9. 分页 (Pagination):

  GET /index_name/_search

   {

     "query": {

       "match_all": {}

     },

     "from": 0,

     "size": 10

   }

10. 批量操作 (Bulk Operations):

    POST /_bulk

    { "index": { "_index": "index_name", "_id": "1" } }

    { "field1": "value1" }

    { "delete": { "_index": "index_name", "_id": "2" } }

    { "update": { "_index": "index_name", "_id": "3" } }

    { "doc": { "field2": "new_value" } }

11. 滚动查询 (Scroll Query):

POST /index_name/_search?scroll=1m

    {

      "size": 100,

      "query": {

        "match_all": {}

      }

    }

    使用 _scroll_id 获取后续批次数据:

    POST /_search/scroll

    {

      "scroll": "1m",

      "scroll_id":"DXF1ZXJ5QW5kRmV0Y2gBAAAAAAAABbZjaFl1N3dLcmJNTE1GZ1BQOGZqZ3cAAAAAAA"

    }

12. 删除索引 (Delete Index):

    DELETE /index_name

http://www.lryc.cn/news/461602.html

相关文章:

  • 【黑苹果】记录MacOS升级Sonoma的过程
  • 向“新”发力,朝“质”攀峰 | 资福医疗携手大圣胃肠一体内窥镜系统亮相江苏省医学会第八次健康管理学学术会议
  • springboot项目多个数据源配置 dblink
  • leetcode中哈希的python解法:Counter()介绍
  • VAS1800Q奇力科技线性芯片电荷泵热处理AEC-Q1000
  • Java 枚举的 valueOf() 方法与 Stream API 查找枚举对象
  • Git的认识及基本操作
  • python 日志库loguru
  • 基于SpringBoot+Vue+uniapp的在线招聘平台的详细设计和实现
  • Chrome谷歌浏览器加载ActiveX控件之JT2Go控件
  • Java基础概览和常用知识(七)
  • STL-string
  • 数据库基础-学习版
  • 【Gin】Gin框架介绍和使用
  • AI大模型带来哪些创业机遇?
  • [Linux] 层层深入理解文件系统——(3)磁盘组织存储的文件
  • Apache Cordova学习计划
  • Unity学习日志-API
  • Java基础常见面试题总结(上)
  • 4 -《本地部署开源大模型》在Ubuntu 22.04系统下部署运行ChatGLM3-6B模型
  • 本地如何使用Pycharm连接远程服务器调试torchrun
  • Visual Studio 2022常用快捷键
  • mysql innodb 引擎如何直接复制数据库文件?
  • python中的global和nonlocal关键字以及闭包和模块
  • LabVIEW风机滚动轴承监测系统
  • 第1节 什么是鸿蒙系统
  • CentOS 7 将 YUM 源更改为国内镜像源
  • python调用dircmp进行文件夹比较
  • 微信小程序 - 供应链系统设计
  • 嵌入式学习-IO进程-Day03