Обязательно ли создавать объекты POCO для всех индексов, которые я собираюсь искать с помощью ElasticSearch? - PullRequest
0 голосов
/ 01 июля 2018

Я начинаю с ElasticSearch.NET (сначала пытаюсь Гнездо ).

Очень простой вопрос: все методы поиска API, которые я вижу (поиск, получение и т. Д.), Требуют указания типа .NET.

Нет ли способа указать имя индекса, чтобы API автоматически определял тип ответа? Другими словами, обязательно ли создавать объекты POCO для всех индексов, которые мы собираемся искать? (Из документации я понимаю, что ElasticSearch может вывести тип документа из индекса, используя структуру первого документа ...)

1 Ответ

0 голосов
/ 02 июля 2018

Нет ли способа указать имя индекса, чтобы API автоматически определял тип ответа?

Не сейчас. Ранее мы уже обсуждали, как делать что-то подобное на основе шаблонов индексов, что было бы полезно для поддержки ковариантных ответов по нескольким индексам, когда типы будут полностью удалены в будущем.

Другими словами, обязательно ли создавать объекты POCO для всех индексов, которые мы собираемся искать?

Нет, это не обязательно. Вы можете указать любой тип, который вы хотите для TDocument в IElasticClient.Search<TDocument>, и этот тип будет использоваться для

  1. определяет тип для десериализации каждого _source документа
  2. Предоставляет строго типизированный доступ к полям документа через их сопоставление со свойствами POCO.
...