Elasticsearch 5 - 批量插入

时间:2016-12-29 21:09:51

标签: elasticsearch elasticsearch-5

我正在使用Elasticsearch 5.1.1,在我的索引中批量插入文档,我需要在文档的某个字段中加上自动生成的_id以更新数据库。

我一直在尝试以下请求:

curl -XPOST localhost:9200/_bulk?pretty -d '
{ "index" : { "_index" : "articles_201701", "_type" : "articles_type" , "_source_include" : "db_id"} }
{ "db_id" : "value1" }
{ "index" : { "_index" : "articles_201701", "_type" : "articles_type" , "_source_include" : "db_id"} }
{ "db_id" : "value2" }
'


curl -XPOST localhost:9200/_bulk?pretty -d '
{ "index" : { "_index" : "articles_201701", "_type" : "articles_type", "fields" : ["db_id"]} }
{ "db_id" : "value1" }
{ "index" : { "_index" : "articles_201701", "_type" : "articles_type", "fields" : ["db_id"]} }
{ "db_id" : "value2" }
'

curl -XPOST 'localhost:9200/_bulk?pretty&fields=db_id' -d '
{ "index" : { "_index" : "articles_201701", "_type" : "articles_type" } }
{ "db_id" : "value1" }
{ "index" : { "_index" : "articles_201701", "_type" : "articles_type"} }
{ "db_id" : "value2" }
' 

其中一些有轻微的变化和组合,但没有运气。

不确定这是否可能......

1 个答案:

答案 0 :(得分:0)

创建对象数组,每个对象包含db_Id和Id.before调用bulk设置db_id,在调用bulk后,使用elasticsearch生成的_id设置id字段。现在,当您想要更新时,您有Id和db_id