You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Elasticsearch 1.7.3如何通过含/的ID查询或更新文档

Elasticsearch 1.7.3 通过ID查询/更新文档的正确方式

你之前的请求失败主要有两个原因:

  1. 错误指定了文档类型:实际文档的_type是doc,但你用了entity
  2. 索引名和文档ID中的特殊字符未做URL转义:索引名里的&、ID里的:和/属于URL特殊字符,直接传递会被解析错误

一、通过ID查询文档

方式1:直接GET获取(最高效)

将特殊字符转义后发起请求:

GET http://localhost:9200/%26kashyap/doc/avatar%3Aimage%2Fc7aa819e-f323-5728-9c80-0826937145b

转义规则:

  • & → %26
  • : → %3A
  • / → %2F

方式2:使用_search接口查询

如果需要通过搜索接口实现,在请求体中指定_id的term查询:

POST http://localhost:9200/%26kashyap/doc/_search
{
  "query": {
    "term": {
      "_id": "avatar:image/c7aa819e-f323-5728-9c80-0826937145b"
    }
  }
}

二、通过ID更新文档

使用_update接口,转义特殊字符后传递正确的索引、类型和ID:

POST http://localhost:9200/%26kashyap/doc/avatar%3Aimage%2Fc7aa819e-f323-5728-9c80-0826937145b/_update
{
  "doc": {
    "username": "new_suhas"
  }
}

请求体中的doc字段用于指定要更新的字段及对应新值。

内容的提问来源于stack exchange,提问作者Suhas Kashyap

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 07:05:02