2015-04-08 2 views
2

Я запрашиваю свой индекс, чтобы найти документ. Если я найду документ, я знаю значение _id для обновления. У меня нет значения _id.elasticsearch upsert без документа id

Использование upsert ниже, я могу обновить, когда у меня есть _id. Если у меня нет _id, как я могу найти elasticsearch для его создания и вставить новый документ?

Цель: Я не хочу иметь 2 функции, один, чтобы создать новый документ, а другой, чтобы обновить его ...

curl -XPOST 'localhost:9200/test/type1/{value_of_id}/_update' -d '{ 
    "doc" : { 
     "name" : "new_name" 
    }, 
    "doc_as_upsert" : true 

}

ответ

1

Что-то вроде «обновление по запросу»?

Смотрите здесь:

https://github.com/elastic/elasticsearch/issues/2230

для оригинального вопроса/предложения, некоторые экспериментальные работы в направлении реализации, дискуссии о преимуществах и недостатках в том числе, и ссылка на плагин, который был разработан для поддерживать поведение.

Смежные вопросы