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

Elasticsearch使用手册包含了许多详细的文档和指南,帮助用户了解和使用Elasticsearch。你可以在官方网站上找到这些文档和指南。API文档提供了Elasticsearch的各种API的详细说明和用法示例,可以帮助用户执行各种操作。例如,通过使用API可以执行搜索操作,如在指定的索引中搜索符合特定条件的文档。你可以使用像GET /shakespeare/_search?from=0&size=5这样的API请求来执行搜索操作,并使用查询语句来指定搜索条件。此外,使用elasticsearch-plugin命令可以安装插件,如ik分词器插件,可以提供更高级的文本分析功能。你可以通过运行命令elasticsearch-plugin install [插件下载地址来安装插件。另外,Elasticsearch支持集群模式,你可以在一个集群中拥有多个节点,可以通过启动一个节点来创建并加入一个默认的集群。这些节点可以协同工作,提供高可用性和可伸缩性。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [Elastic Search 入门使用说明](https://blog.csdn.net/hellwindy/article/details/128379808)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值