【发布时间】:2020-07-17 18:16:02
【问题描述】:
我最近将我的应用程序中的Elasticsearch.Net 和NEST 从版本 5.5.0 升级到了 7.5.1,我遇到了一堆构建错误。我已经设法解决了其中一些问题,但以下问题我仍不清楚:
1) ElasticLowLevelClient.Msearch
MultiSearchRequest multiSearchRequest = new MultiSearchRequest { Operations = operations };
MultiSearchResponseData response = Converter.ToMultiSearchResponseData(client.Msearch<byte[]>("articles", multiSearchRequest));
operations 的类型为 Dictionary<string, Nest.ISearchRequest>,我收到以下错误:
严重性代码描述项目文件行抑制状态 错误 CS1061 'ElasticLowLevelClient' 不包含 'Msearch' 的定义,并且找不到接受第一个参数类型为 'ElasticLowLevelClient' 的可访问扩展方法 'Msearch'(您是否缺少 using 指令或程序集引用?)
2) Elasticsearch.Net.PostData
SearchRequest request = new SearchRequest
{
Size = 1,
Query = new QueryStringQuery { DefaultField = new Field("urlName"), Query = "(" + articleUrl + ")" },
};
ElasticsearchResponse<string> response = client.Search<string>("detailarticle", new PostData<object>(request));
我收到以下错误:
严重性代码描述项目文件行抑制状态 错误 CS1729 'PostData' 不包含采用 1 个参数的构造函数
3) BulkUpdateOperation 和 PostDate:
public void UpdateArticlesIndex(IEnumerable<ArticleUpdateModel> articles)
{
if (articles == null || articles.Count() == 0)
return;
List<IBulkOperation> operations = new List<IBulkOperation>();
foreach (var a in articles)
{
operations.Add(new BulkUpdateOperation<object, object>(a.DocumentId)
{
Index = "articles",
Type = "_doc",
Doc = a.Value,
});
}
BulkRequest request = new BulkRequest
{
Operations = operations,
};
client.Bulk<string>(new PostData<object>(request));
}
我收到以下两个错误:
严重性代码描述项目文件行抑制状态 错误 CS0117“BulkUpdateOperation
和
严重性代码描述项目文件行抑制状态 错误 CS1729 'PostData' 不包含采用 1 个参数的构造函数
我尝试过弄乱构造函数并更改声明,但没有产生任何预期的结果。我还查看了 Elasticsearch 文档,但没有找到任何相关内容
任何有关解决这些构建错误的帮助将不胜感激
【问题讨论】:
标签: c# asp.net .net elasticsearch nest