gpt4 book ai didi

elasticsearch - 在 Elasticsearch Nest 5.5 中使用 .Scroll 时遇到问题

转载 作者:行者123 更新时间:2023-12-03 01:42:20 26 4
gpt4 key购买 nike

然后我想使用 scrollid 循环和滚动数据
我已升级到 NEST 5.5 并尝试修复此代码块:

scrollGetSearch = client.Raw.ScrollGet(scrollId, x => x
.AddQueryString("scroll", "1m")
.AddQueryString("size", "1000"));

尝试使用 .Scroll但找不到滚动方法的正确参数:
scrollGetSearch = client.Scroll("1m",scrollId)

得到错误

The type arguments for method 'Nest.ElasticClient.Scroll(Nest.Time, string, System.Func,Nest.IScrollRequest>)' cannot be inferred from the usage. Try specifying the type arguments explicitly.

最佳答案

您的第一个请求使用低级客户端 Elasticsearch.Net,而第二个请求使用高级客户端。

在 NEST 5.x 中执行相同的低级请求将是

ElasticsearchResponse<T> lowLevelScrollResponse = client.LowLevel.ScrollGet<T>(x => x
.AddQueryString("scroll_id", scrollId)
.AddQueryString("scroll", "1m"));

通用参数 T应该是响应主体应该反序列化的类型,例如 string , byte[]或者因为您使用的是暴露在高级客户端上的低级客户端,高级响应, SearchResponse<TDocument> , 其中 TDocument是每个 _source 的类型应该反序列化成。无需指定 size在滚动请求上,因为大小是在对 _search 的第一次滚动调用中配置的端点。

使用高级客户端执行相同的搜索
ISearchResponse<T> scrollResponse = client.Scroll<T>("1m", scrollId);

关于elasticsearch - 在 Elasticsearch Nest 5.5 中使用 .Scroll 时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46561549/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com