问题描述
我在同一台服务器中有 2 个索引,它们具有相同的结构和不同的索引名称。 第一个是出于开发原因,第二个是出于 uat 原因。 我在 appsettings 中有两个索引名称,程序使用适当的取决于环境。 我想在 searchRequest 中声明索引名称,但在 nest v7.10.0 searchRequest 中没有索引。
ISearchRequest searchRequest = new SearchRequest
{
From = query.Payload.Paging?.Skip,Size = query.Payload.Paging?.Take ?? 10000,Sort = sortField != null ? new List<ISort> { sortField } : null,Query = new QueryContainer(boolQuery),Source = new SourceFilter
{
Includes = Infer.Field<EventHistory>(path: eventHistory => eventHistory.Id)
}
};
ISearchResponse<EventHistory> searchResponse = await _elasticclient.SearchAsync<EventHistory>(searchRequest);
解决方法
构造函数接受一个 Indices
参数
ISearchRequest searchRequest = new SearchRequest("foo")
{
From = query.Payload.Paging?.Skip,Size = query.Payload.Paging?.Take ?? 10000,Sort = sortField != null ? new List<ISort> { sortField } : null,Query = new QueryContainer(boolQuery),Source = new SourceFilter
{
Includes = Infer.Field<EventHistory>(path: eventHistory => eventHistory.Id)
}
};
ISearchResponse<EventHistory> searchResponse = await _elasticClient.SearchAsync<EventHistory>(searchRequest);