Link Search Menu Expand Document Documentation Menu

索引文档

1.0 版引入

您可以使用 Index document 操作向索引中添加单个文档。

端点

PUT <index>/_doc/<_id>
POST <index>/_doc

PUT <index>/_create/<_id>
POST <index>/_create/<_id>
  • PUT 操作使用指定的 ID 向索引添加或更新文档。用于受控的文档创建或更新。
  • POST 操作将自动生成的 ID 的文档添加到索引。适用于添加新文档而无需指定 ID 的情况。
  • _create 是一个类型标识符,指示仅当具有指定 ID 的文档尚不存在时才应创建文档。
  • <index> 表示将添加文档的索引名称。
  • <_id> 表示文档的唯一标识符。

添加示例索引

可以通过终端中的 curl 命令或通过 API 将示例数据添加到索引中。

要测试文档 API,请按照以下步骤添加文档:

  1. 打开 OpenSearch Dashboards。
  2. 导航到操作菜单。
  3. 管理部分,选择开发工具
  4. 输入命令,然后选择绿色三角形播放按钮以发送请求。以下是一些示例命令。

路径参数

参数 类型 描述 必需
<index> 字符串 索引的名称。
<id> 字符串 附加到文档的唯一标识符。要自动生成 ID,请在请求中使用 POST <target>/doc 代替 PUT。

查询参数

在您的请求中,您必须指定要将文档添加到的索引。如果该索引不存在,OpenSearch 将自动创建该索引并将您的文档添加进去。所有其他参数都是可选的。

参数 类型 描述 必需
if_seq_no 整数 仅当文档具有指定的序列号时才执行索引操作。
if_primary_term 整数 仅当文档具有指定的主词时才执行索引操作。
op_type 枚举 指定要对文档完成的操作类型。有效值为 create(仅当文档不存在时才索引文档)和 index。如果请求中包含文档 ID,则默认值为 index。否则,默认值为 create
pipeline 字符串 将索引操作路由到特定的管道。
路由 字符串 用于将索引操作分配给特定分片的值。
refresh 枚举 如果为 true,OpenSearch 会刷新分片以使操作对搜索可见。有效选项为 truefalsewait_for,后者指示 OpenSearch 在执行操作前等待刷新。默认值为 false
timeout 时间 等待集群响应的时长。默认值为 1m
version 整数 文档的版本号。
version_type 枚举 为文档分配特定类型。有效选项为 external(如果指定的版本号大于文档的当前版本,则检索文档)和 external_gte(如果指定的版本号大于或等于文档的当前版本,则检索文档)。例如,要索引文档版本 3,请使用 /_doc/1?version=3&version_type=external
wait_for_active_shards 字符串 在 OpenSearch 处理请求之前必须可用的活动分片数量。默认值为 1(仅主分片)。设置为 all 或正整数。大于 1 的值需要副本。例如,如果指定值为 3,则索引必须有两个副本分布在另外两个节点上,操作才能成功。
require_alias 布尔型 指定目标索引是否必须是索引别名。默认值为 false

示例请求

以下示例请求为名为 sample_index 的索引创建示例索引文档:

PUT 请求示例

PUT /sample_index/_doc/1
{
  "name": "Example",
  "price": 29.99,
  "description": "To be or not to be, that is the question"
}

POST 请求示例

POST /sample_index/_doc
{
  "name": "Another Example",
  "price": 19.99,
  "description": "We are such stuff as dreams are made on"
}

示例响应

{
  "_index": "sample-index",
  "_id": "1",
  "_version": 1,
  "result": "created",
  "_shards": {
    "total": 2,
    "successful": 1,
    "failed": 0
  },
  "_seq_no": 0,
  "_primary_term": 1
}

响应正文字段

字段 描述
_index 索引的名称。
_id 文档的 ID。
_version 文档的版本。
result 索引操作的结果。
_shards 关于集群分片的详细信息。
total 分片总数。
successful OpenSearch 成功添加文档的分片数量。
failed OpenSearch 未能添加文档的分片数量。
_seq_no 文档索引时分配的序列号。
_primary_term 文档索引时分配的主词。
剩余 350 字符

有问题?

想贡献?