开发者社区 问答 正文

OpenSearch的数据如何处理?



上传文档


支持新增、更新、删除的批量操作

URL


/index/doc/$app_name (app_name为要操作的应用名称)

支持格式


JSON

HTTP请求方式


POST

请求参数

参数类型必需取值范围默认值描述
actionstringpush
table_namestring要上传数据的表名
itemsstring规定JSON格式,如下所示

items格式:(注意: int_array 及 literal_array 字段类型对应值,必须要用 “[]”该符号括起来,例如 int_array”: [14,85] 和 “literal_array”: [“abc”,”xyz”])

  • cmd : 必选字段。定义该文档的操作行为,可以为“add”、“update”(标准版不支持)、“delete”。建议一个请求中进行批量更新操作,提高网络交互及处理效率。“add”表示新增文档,如果该主键对应文档已经存在,则执行先“delete”再“add”的操作;“update”表示更新文档,对该主键对应文档进行部分字段更新,如果未存在主键文档,则执行“add”操作;“delete”表示删除文档,如果该主键对应文档已经不存在,则认为删除成功。
  • timestamp : 可选字段。用来记录文档实际发生时间,单位为毫秒。系统会用该时间戳来作为同一主键文档更新顺序的判断标准。如果没有timestamp项,则默认以文档发送到OpenSearch的时间作为文档更新时间来进行保序操作。
  • fields : 必选字段。要操作的文档内容,主键字段必选,系统所有操作都是通过主键来进行的。对于“delete”只需要提供文档主键即可。
  • 对于Array类型,需要使用JsonArray来处理,如[{“fields”: { “id”: “0”,”int_array”: [14,85],”literal_array”: [“abc”,”xyz”]},”cmd”: “ADD”}];
  • 注意:最外层是JsonArray类型,支持多个文档批量操作。


返回结果

参数类型描述
statusstring执行结果,OK为成功,FAIL为失败,请根据返回错误码进行排查
request_idstring该条查询的记录id,主要用于排查问题使用


示例


请求:(此处省略了公共参数及编码等因素)

展开
收起
轩墨 2017-10-25 10:58:32 3104 分享 版权
阿里云 AI 助理回答

根据您提供的信息,这是关于如何通过API向阿里云OpenSearch服务上传文档的说明。下面我将用一个简化的示例来帮助您理解整个过程。

请求目的

批量执行对指定应用(app_name)中的文档进行新增、更新或删除操作。

请求URL

/index/doc/{app_name}

其中{app_name}需要替换为您的实际应用名称。

请求方法

  • HTTP请求方式: POST

请求参数格式

  • Content-Type: application/json

请求体示例

假设我们要对应用名为my_app的应用进行操作,包括添加、更新和删除文档,请求体可以设计如下:

[
  {
    "cmd": "add",
    "fields": {
      "id": "1",
      "title": "Document 1",
      "content": "This is the content of document 1.",
      "timestamp": 1632480000000
    }
  },
  {
    "cmd": "update",
    "fields": {
      "id": "2",
      "title": "Updated Document 2"
    }
  },
  {
    "cmd": "delete",
    "fields": {
      "id": "3"
    }
  }
]

参数解释

  • cmd: 操作类型,可选值为addupdatedelete
  • fields: 文档内容,至少包含主键字段。对于addupdate,应提供所有要设置的字段;对于delete,只需提供能够唯一标识文档的主键。
  • timestamp: 可选,用于定义文档的实际发生时间,有助于保持文档更新的顺序。

返回结果示例

成功响应可能如下所示:

{
  "status": "OK",
  "request_id": "123e4567-e89b-12d3-a456-426614174000"
}

如果遇到失败,status会是FAIL,并且通常会伴随有错误码和描述,帮助您排查问题。

请确保在实际调用前,已经正确设置了与阿里云OpenSearch服务的认证信息(如AccessKey ID、AccessKey Secret等),并遵循阿里云的安全最佳实践。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答