Можно ли сделать массовый индекс без указания идентификатора документа? Я хочу, чтобы Elasticsearch генерировал случайный идентификатор для меня при индексировании, но можно ли это сделать?
Можем ли мы сделать массовый индекс без указания идентификатора документа для Elasticsearch?
Ответ 1
Да, ты можешь!
Протестировано на 0.90.0.Beta1:
$ cat requests
{ "index" : { "_index" : "test", "_type" : "type1" } }
{ "field1" : "value1" }
$ curl -s -XPOST localhost:9200/_bulk --data-binary @requests; echo
{"took":6,"items":[{"create":{"_index":"test","_type":"type1","_id":"IWqsRqyhRVq-F69OLIngTA","_version":1,"ok":true}}]}
Ответ 2
Вот еще один пример массовой загрузки без указания _id.
'
curl -XPOST "http://localhost:9200/_bulk" -d'
{ "index" : { "_index" : "test", "_type" : "demo" } }
{ "title" : "Quick brown rabbits", "content" : "Brown rabbits are commonly seen" }
{ "index" : { "_index" : "test", "_type" : "demo" } }
{ "title" : "Keeping pets healthy", "content" : "My quick brown fox eats rabbits
'
Ответ ниже
'
{
"took": 451,
"errors": false,
"items": [
{
"create": {
"_index": "test",
"_type": "demo",
"_id": "AVYDtp_fxosF2Bdj7ghV",
"_version": 1,
"_shards": {
"total": 2,
"successful": 1,
"failed": 0
},
"status": 201
}
},
{
"create": {
"_index": "test",
"_type": "demo",
"_id": "AVYDtp_fxosF2Bdj7ghW",
"_version": 1,
"_shards": {
"total": 2,
"successful": 1,
"failed": 0
},
"status": 201
}
}
]
}
'