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

ES 使用URL增删改查

文章目录

      • 一、基础 URL 结构
      • 二、常用操作示例
        • 1. 创建索引
        • 2. 插入文档(新增数据)
        • 3. 指定 ID 插入文档
        • 4. 更新文档
        • 5. 查询文档
          • 5.1 全量查询
          • 5.2 条件查询
        • 6. 删除文档
        • 7. 删除索引
      • 三、高级操作
        • 1. 批量操作(Bulk API)
        • 2. 复合查询(Aggregation)
      • 四、认证方式
        • 方法一:URL 中直接包含认证信息(生产环境不推荐)
        • 方法二:使用 HTTP 的 Basic 认证

在 Elasticsearch(简称 ES)中,可以通过 RESTful API 直接通过 URL 操作数据。以下是常见的 URL 操作示例及说明:


一、基础 URL 结构

Elasticsearch 的 API 遵循 REST 设计规范,URL 格式通常为:

http://<host>:<port>/<index>/<endpoint>
  • <host>: ES 服务地址(如 localhost)。
  • <port>: 默认 9200
  • <index>: 索引名称(类似数据库中的表)。
  • <endpoint>: 操作类型(如 _search, _doc)。

二、常用操作示例

1. 创建索引
PUT http://localhost:9200/my_index
{"settings": {"number_of_shards": 1,"number_of_replicas": 0},"mappings": {"properties": {"name": { "type": "text" },"age": { "type": "integer" }}}
}
  • 方法: PUT
  • 作用: 创建名为 my_index 的索引,并定义字段类型。

2. 插入文档(新增数据)
POST http://localhost:9200/my_index/_doc
{"name": "Alice","age": 25
}
  • 方法: POST

  • URL 说明: _doc 表示默认文档类型(ES 7.x+ 已废弃类型概念)。

  • 返回结果:

    { "_id": "some_id", "_index": "my_index", ... }
    

3. 指定 ID 插入文档
PUT http://localhost:9200/my_index/_doc/1
{"name": "Bob","age": 30
}
  • 方法: PUT
  • URL 说明: 末尾的 1 是文档的唯一 ID,若存在则覆盖。

4. 更新文档
POST http://localhost:9200/my_index/_update/1
{"doc": {"age": 31}
}
  • 方法: POST
  • URL 说明: 1 是文档 ID,doc 表示部分更新字段。

5. 查询文档

查询操作集合建议阅读《ES 使用URL查询的全面操作》

5.1 全量查询
GET http://localhost:9200/my_index/_search
{"query": {"match_all": {}}
}
  • 方法: GET
  • 返回结果: 返回所有文档。
5.2 条件查询
GET http://localhost:9200/my_index/_search
{"query": {"match": { "name": "Alice" }}
}
  • 方法: GET
  • 作用: 查找 name 字段包含 “Alice” 的文档。

6. 删除文档
DELETE http://localhost:9200/my_index/_doc/1
  • 方法: DELETE
  • 作用: 删除 ID 为 1 的文档。

7. 删除索引
DELETE http://localhost:9200/my_index
  • 方法: DELETE
  • 作用: 删除整个索引(包括所有文档)。

三、高级操作

1. 批量操作(Bulk API)
POST http://localhost:9200/my_index/_bulk
{ "index": { "_id": "2" } }
{ "name": "Charlie", "age": 28 }
{ "index": { "_id": "3" } }
{ "name": "David", "age": 35 }
  • 方法: POST
  • 作用: 批量插入/更新文档,每两行为一组操作。

2. 复合查询(Aggregation)
GET http://localhost:9200/my_index/_search
{"size": 0,"aggs": {"avg_age": {"avg": { "field": "age" }}}
}
  • 方法: GET
  • 作用: 计算所有文档的平均年龄。

四、认证方式

当ES设置了账号密码后, 需要进行认证

方法一:URL 中直接包含认证信息(生产环境不推荐)

格式为: PUT http://username:password@localhost:9200/your_index/_doc/1

方法二:使用 HTTP 的 Basic 认证

可以使用 ApiFox 或者 Postman , 在 Authorization选项卡中设置:

Type: Basic Auth
Username: your_username
Password: your_password

或者直接添加请求头也可以, 格式为: Authorization:Basic+空格+(账号:密码 的base64), 如

Authorization: Basic ZWxhc3RpYzpjaGFuZ2VtZQ==

如下图所示
ES认证方式.png

http://www.dtcms.com/a/566559.html

相关文章:

  • C++中指针和引用的区别
  • 对单位网站建设的建议昆明网站设计都需要设计什么
  • 一流的龙岗网站设计旅游网站制作分析
  • 建设网站需要申请什么网站建设20推广
  • 轻量级网站开发简单 网站设计
  • win10程序(十四)pdf转docx简易版
  • 怎么把网站关联到万网做网站网关备案
  • 网站的优化用什么软件wordpress门户型多栏设计
  • 长江商学院 网站建设妇幼能力建设网站
  • Java设计模式精讲---导学篇
  • 安阳网站如何做优化网站地址地图怎么做
  • 软件测试基础详解
  • 中介做网站的别打电话郑州有没有厉害的seo
  • 一做特卖的网站重庆江北营销型网站建设公司推荐
  • 【一文了解】八大排序-计数排序
  • X-Token 系列 HTTP 头部详解
  • 想用wordpress建立网站别样网站建设
  • 济南学网站建设哪里好建设通一年多少钱
  • 商城网站开发费用一般是多少东莞市微客巴巴做网站
  • 微秒延时us
  • 桐乡城市建设局网站邯郸小学网站建设
  • 沈阳网站公司排名龙华企业网站建设
  • CPU调度---协程
  • 网络安全活动总结
  • 站长之家alexa排名亚马逊一般在哪些网站上做推广
  • 直接用ip地址的网站怎么做宜宾县企业项目建设影响环境登记表网站
  • 计算机图形学·6 OpenGL编程3 谢尔宾斯基垫与三维编程
  • ThreadLocal 在项目中的应用
  • Vue动态路由的页面刷新的问题
  • 企业网站推广模式网站建设肆金手指排名9