В чем разница между методами CreateAsync и IndexAsync на клиенте NEST ElasticSearch? - PullRequest
0 голосов
/ 29 октября 2018

Я обнаружил, что методу Create() нужно поле Id в классе сущностей, но Index() это не нужно. Я не могу понять, почему.

1 Ответ

0 голосов
/ 29 октября 2018

Существует фундаментальное различие между API создания и индексации в Elasticsearch;

  1. create API создаст документ, если он не существует, и вернет ошибку, если он существует. Запрос на создание API должен содержать индекс, тип и идентификатор в URI запроса. Поле id может быть выведено из POCO или могут быть явно установлены в запросе.
  2. index API создаст документ, если он не существует, и перезапишет документ, если он существует. Передача идентификатора необязательна, и если идентификатор не передан, Elasticsearch сгенерирует идентификатор для документа.

Эта разница отражена в методах Create() и Index(), представленных на клиентах .NET.

...