借助Java Client.prepareSearch()
和Client.prepareSearchScroll()
API,我们可以使用documentation中提到的滚动查询Elasticsearch索引。使用这些API,我们可以通过设置SearchRequestBuilder.setSize()
来为每个请求选择特定数量的匹配。 SearchResponse
提供滚动ID,然后将其用于后续请求中。
如何使用elasticsearch-spark来实现类似的功能?所有JavaEsSpark.esRDD()
方法都返回JavaPairRDD
,其中将包含所有匹配。有没有一种方法可以按每个请求仅请求特定数量的匹配,然后继续滚动其他请求?
我发现配置es.scroll.size
似乎与SearchRequestBuilder.setSize()
等效,但是我不确定如何使用它以及如何在elasticsearch-spark上下文中使用滚动ID?