В настоящее время мы используем библиотеку Nest версии 5.x. Поскольку мы уверены, что Nest 7.x быстрее, мы планируем обновить версию с 5.x до 7.x. При обновлении версии библиотеки я обнаружил, что в Nest версии 7.x отсутствуют некоторые методы.
У нас есть листинги и листинг два индекса. Listings является родительским индексом листинга (например: Listings / Listing / _search). У нас есть один класс расширения, который помогает взаимодействовать с Nest. Этот класс имеет один метод Search, как показано в разделе кода. Этот метод использует Тип метода SearchDescriptor . Чего не хватает в Next 7.x.
public static async Task<ElasticsearchResult<ISearchResponse<T>>> SearchAsync<T>(
this Elasticsearch elasticsearchClient,
SearchDescriptor<T> searchDescriptor,
int from = MinResultWindowSize,
int to = MaxResultWindowSize) where T : class
{
return await Elasticsearch.PerformTaskWithExceptionHandlingAsync(async () =>
{
searchDescriptor
.Index(Elasticsearch.MetaData.IndexMetaData.IndexName)
.Type(Elasticsearch.MetaData.IndexMetaData.ParentIndexType)
.From(from)
.Size(to);
var result = await Elasticsearch.Client.SearchAsync<T>(searchDescriptor).ConfigureAwait(false);
if (!result.IsValid)
{
throw new ElasticsearchClientException(result.DebugInformation ??
result.ApiCall?.OriginalException?.Message ??
"Debug information not available in response.");
}
return ElasticsearchResult.Ok(result);
}).ConfigureAwait(false);
}
Мне нужна помощь для замены вышеуказанного кода, чтобы он был совместим с Nest 7.x.