gpt4 book ai didi

elasticsearch - _id等于特定字段时尝试使用Elasticsearch Bulk API

转载 作者:行者123 更新时间:2023-12-03 01:25:49 26 4
gpt4 key购买 nike

我试图将文档批量插入索引中。我需要_id等于我要插入的特定字段。我正在使用ES v6.6

POST productv9/_bulk
{ "index" : { "_index" : "productv9", "_id": "in_stock"}}
{ "description" : "test", "in_stock" : "2001"}

GET productv9/_search
{
"query": {
"match": {
"_id": "2001"
}
}
}

当我运行批量语句时,它运行没有任何错误。但是,当我运行搜索语句时,没有得到任何点击。此外,我还有许多其他文档想要以相同的方式插入。

最佳答案

我建议要做的是创建一个ingest pipeline,它将根据_id字段的值设置文档的in_stock

首先创建管道:

PUT _ingest/pipeline/set_id
{
"description" : "Sets the id of the document based on a field value",
"processors" : [
{
"set" : {
"field": "_id",
"value": "{{in_stock}}"
}
}
]
}

然后,您可以在批量调用中引用管道:
POST productv9/doc/_bulk?pipeline=set_id
{ "index" : {}}
{ "description" : "test", "in_stock" : "2001"}

通过调用 GET productv9/_doc/2001,您将获得您的文档。

关于elasticsearch - _id等于特定字段时尝试使用Elasticsearch Bulk API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58311167/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com