我正在使用Elasticsearch 5.1.1和Nest 5.0,我正在尝试按查询搜索项目,然后删除这些项目。
这是代码:
var searchDescriptor = new SearchDescriptor()
.Index(indexName)
.Size(itemsPerShard)
.StoredFields((Field)"Id")
.Scroll("1m")
.Sort(ss => ss.Ascending(SortSpecialField.DocumentIndexOrder))
.Query(qd => qd
.QueryString(snd => snd
.Query(deleteByQuery)
.DefaultOperator(Operator.And))
);
var scanResults = client.Search(s => searchDescriptor);
var results = client.Scroll("1m", scanResults.ScrollId);
当itemsPerShard> 10.000,我收到此错误: {在POST上对不成功的低级别调用构建无效的NEST响应:/ index / _search?scroll = 1m}。 并在elasticsearch日志文件中: 批量大小太大,大小必须小于或等于:[10000]但是[10001]。滚动批量大小的成本与结果窗口一样多,因此它们由[index.max_result_window]索引级别设置控制。
此代码适用于Nest 1.X。
谢谢!