当前位置: 首页 > 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.mrgr.cn/news/46296.html

相关文章:

  • Run the FPGA VI 选项的作用
  • AI改变一切,包括你的毕业论文!如何应对?
  • 十年网络安全工程师谈学习网络安全的正确顺序
  • 希亦超声波清洗机值得购买吗?清洁技术之王多维度测评大揭秘!
  • 基于邮箱的域名欺骗攻击:利用解析器绕过访问控制
  • 面对多种可燃气体,哪种传感器最适合你的应用场景?
  • vite+vue3实现动态路径导入
  • 电力电子技术03 AC-DC整流器(2)---单相半波整流器 二极管不控整流
  • 行盒的截断样式 box-decoration-break
  • 视频汇聚平台EasyCVR支持云端录像丨监控存储丨录像回看丨录像计划丨录像配置
  • vite搭建vue3项目
  • [稳定检索|投稿优惠]2024年材料科学、能源技术与智能制造国际会议(MSETIM 2024)
  • Linux入门3——vim的简单使用
  • Zotero插件指南:20个工具让你的学术生活更简单
  • 基于jmeter+perfmon的稳定性测试记录
  • iPaaS全面选型指南
  • RDL在事件代码中定义配置文件节点
  • vue-自定义指令
  • #FPGA新工程创建
  • Mac下的Python+Selenium环境部署