Put

Используйте команду PUT, чтобы добавить документ в index. В команде нужно указывать index ( my_index ) и id ( 1 ). Id можно опустить, создастся автоматически

Если делать несколько PUT с одинаковым id документ будет обновлён.

curl -X PUT "localhost:9200/my_index/_doc/1" -H 'Content-Type: application/json' -d'
{
  "title": "My title",
  "category": "My category",
  "author": {
    "first_name": "Dilibon",
	"last_name": "BonBon"
  }
}
'  
PUT my_index/_doc/1
{
  "title": "My title",
  "category": "My category",
  "author": {
    "first_name": "Dilibon",
	"last_name": "BonBon"
  }
} 

Ответ на запрос будет иметь вид:

{
  "_index": "my_index", <-- index
  "_type": "_doc", 
  "_id": "1", <-- тот id, который был в команде
  "_version": 1 <-- версия документа, меняется при многоразовом PUT с одинаковым id
  "result": "created" <-- updated при многоразовом PUT с одинаковым id
}  

Put - create

Чтобы избежать обновление документов при использовании PUT с одинаковым id можно использовать _create.

Если документ существует статус/responce в ответе будет 409.

PUT my_index/_create/1
{
  "title": "My title new",
  "category": "My category",
  "author": {
    "first_name": "Dilibon",
	"last_name": "BonBon"
  }
}