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

时间:2016-02-11 11:49:37

标签: elasticsearch

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

3
4
8
5
9

正如link中的文档所述。

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

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

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

1 个答案:

答案 0 :(得分:5)

使用此:

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