Elasticsearch使用自定义_id创建文档

时间:2018-08-14 05:32:30

标签: elasticsearch

有什么方法可以创建文档而不在URL中指定_id?我了解可以使用http://localhost:9200/[index_name]/[index_type]/[_id]创建文档的选项,使用此选项创建文档确实存在问题,因为_id不会自动生成,并且_id可能具有特殊字符,例如#或&。我目前正在使用Elasticsearch 1.3版。

1 个答案:

答案 0 :(得分:1)

一种创建文档而无需在URL中添加URL编码ID的方法是使用_bulk API。就像这样:

POST index/doc/_bulk
{"index": {"_id": "1234#5678"}}
{"field": "value", "number": 34}
{"index": {"_id": "5555#7896"}}
{"field": "another", "number": 45}

如您所见,您可以为多个文档建立索引,它们的ID只需在批量请求正文内的引号内给出即可。 URL本身仅调用_bulk端点。