我在elasticSearch中遇到以下错误:
[结果窗口太大,+大小必须小于或等于:[10000]但是[100000].
有关请求大型数据集的更有效方法,请参阅scroll api.可以通过更改[index.max_result_window]索引级别参数来设置此限制.]我无法获取我们必须设置的文件
index.max_result_window = 50000;
Run Code Online (Sandbox Code Playgroud) 我有一个弹性搜索数据库,想要在我的网站页面上获取所有记录.我写了一个bean,它连接到弹性搜索节点,搜索记录并返回一些响应.我的简单java代码,用于搜索,是
SearchResponse response = getClient().prepareSearch(indexName)
.setTypes(typeName)
.setQuery(queryString("\*:*"))
.setExplain(true)
.execute().actionGet();
Run Code Online (Sandbox Code Playgroud)
但是Elasticsearch将默认大小设置为10,并且我有10次点击响应.我的数据库中有超过10条记录.如果我设置大小Integer.MAX_VALUE我的搜索变得非常慢,这不是我想要的.
如何在没有设置响应大小的情况下,在可接受的时间内在一个操作中获取所有记录?
我正在使用.From()和.Size()方法从Elastic Search结果中检索所有文档.
以下是示例示例 -
ISearchResponse<dynamic> bResponse = ObjElasticClient.Search<dynamic>(s => s.From(0).Size(25000).Index("accounts").AllTypes().Query(Query));
Run Code Online (Sandbox Code Playgroud)
最近我遇到了弹性搜索的滚动功能.这看起来比专门用于获取大数据的From()和Size()方法更好.
https://www.elastic.co/guide/en/elasticsearch/reference/current/search-request-scroll.html
我在NEST API中查找Scroll功能的示例.
有人可以提供NEST的例子吗?
谢谢,Sameer