如何使用elasticsearch java客户端按_doc排序

Gha*_*and 1 elasticsearch

我想迭代整个elasticsearch索引/类型.我在java客户端使用滚动,如下所示

SearchResponse scrollResp = client.prepareSearch(test)
        .setSearchType(SearchType.SCAN)
        .setScroll(new TimeValue(60000))
        .setQuery(qb)
        .setSize(100).execute().actionGet();
Run Code Online (Sandbox Code Playgroud)

正如链接中的文档中所建议的那样.

"当排序顺序为_doc时,滚动请求具有使其更快的优化.如果您想要迭代所有文档而不管顺序,这是最有效的选项"

"sort": [
    "_doc"
  ]
Run Code Online (Sandbox Code Playgroud)

如何在上面的java客户端代码中将排序顺序设置为"_doc"?

Ric*_*cha 5

用这个 :

SearchResponse scrollResp = elasticsearchTemplate.client.prepareSearch(test)
            .setSearchType(SearchType.SCAN)
            .setScroll(new TimeValue(60000))
            .setQuery(qb).addSort("_doc" , SortOrder.ASC)
            .setSize(100).execute().actionGet();
Run Code Online (Sandbox Code Playgroud)