与 Elasticsearch 兼容的 API
In order to facilitate migrations and integrations with existing tools, Quickwit offers an Elasticsearch/Opensearch compatible API. This API is incomplete. This page lists the available features and endpoints.
支持的端点
所有 API 端点都以 api/v1/_elastic/
前缀开始。
_bulk
批量摄入端点
POST api/v1/_elastic/_bulk
POST api/v1/_elastic/<index>/_bulk
批量摄入 API 可以在一个请求中索引一批文档,可能针对多个索引。
Request Body 示例
{ "create" : { "_index" : "wikipedia", "_id" : "1" } }
{"url":"https://en.wikipedia.org/wiki?id=1","title":"foo","body":"foo"}
{ "create" : { "_index" : "wikipedia", "_id" : "2" } }
{"url":"https://en.wikipedia.org/wiki?id=2","title":"bar","body":"bar"}
{ "create" : { "_index" : "wikipedia", "_id" : "3" } }
{"url":"https://en.wikipedia.org/wiki?id=3","title":"baz","body":"baz"}'
使用 Elasticsearch 的批量 API 吞吐一批文档,使其可被搜索。此端点提供了与已经将数据发送到 Elasticsearch 进行索引的工具或系统的兼容性。目前,仅支持批量 API 的 create
操作,其他如 delete
或 update
操作被忽略。
如果通过 URL 路径指定了索引,则它将作为 _index
属性的默认值。
支持 refresh
参数。
caution
Quickwit API 不会报告错误,您需要检查服务器日志。
在 Elasticsearch 中,当摄入的文档包含标识符(_id
字段 )时,create
操作具有特定的行为。它只插入之前未插入的此类文档。这对于实现 At-Most-Once 索引非常有用。
Quickwit 没有文档 ID 的概念,不支持此功能。
info
请求负载大小限制为 10MB,因为此端点旨在批量接收文档。
Query 参数
变量 | 类型 | 描述 | 默认值 |
---|---|---|---|
refresh | String | 提交行为:空白字符串、true 、wait_for 或 false | false |
Response
响应是一个 JSON 对象,内容类型为 application/json; charset=UTF-8
。
字段 | 描述 | 类型 |
---|---|---|
num_docs_for_processing | 处理的文档总数。这些文档可能尚未被处理。API 不会返回索引错误,请检查服务器日志以查找错误。 | number |