Elasticsearch не генерирует уникальный _id

#node.js #express #elasticsearch

Вопрос:

Когда я запускаю следующий код в NodeJS:

 app.post('/users', (req, res, next) => {
    client.index({
        index: 'hobnob',
        type: 'user',
        body: req.body,
      }).then((result) => {
        res.status(201);
        res.set('Content-Type', 'text/plain');
        res.send(result._id);
      }).catch(() => {
        res.status(500);
        res.set('Content-Type', 'application/json');
        res.json({ message: 'Internal Server Error' });
      });
});
 

Я получаю следующий журнал трассировки:

 **Elasticsearch TRACE: 2021-05-15T02:52:22Z
  -> POST http://localhost:9200/}/hobnob/_doc?type=user
  {
    "email": "e@ma.il",
    "password": "password"
  }
  <- 200
  {
    "_index": "}",
    "_type": "hobnob",
    "_id": "_doc",
    "_version": 32,
    "result": "updated",
    "_shards": {
      "total": 2,
      "successful": 1,
      "failed": 0
    },
    "_seq_no": 31,
    "_primary_term": 2
  }

Elasticsearch DEBUG: 2021-05-15T02:52:22Z
  Request complete**
 

Скриншот журнала трассировки здесь

введите описание изображения здесь

Здесь в ответе «_id» — это «_doc», он не генерирует уникальный _id.

Я использую: NodeJS Версия: 14.16.0 Экспресс-версия: 4.17.1 Elasticsearch версия 7.12.1 Клиент Elasticsearch: «npm i elasticsearch» версия: 16.7.2

Комментарии:

1. URL — адрес, на который размещен документ, кажется неправильным /}/hobnob/_doc . type: 'user' Кстати, вы не должны указывать, что это устарело