ElasticSearch> 2.1中已弃用的SearchType.SCAN的替代方法是什么?

时间:2016-04-05 18:03:13

标签: java elasticsearch

ElasticSearch文档提到SCAN search type is deprecated,建议用户只需按" _doc"指定排序顺序。

我们切换到ES 2.2,旧代码仍然有效:

SearchResponse scrollResp = esClient.prepareSearch(indexName)
            .setSearchType(SearchType.SCAN)
            .setTypes("File")
            .setScroll(new TimeValue(ES_SCROLL_TIMEOUT_MILLIS))
            .setQuery(query)  .setSize(ES_BATCH_SIZE).execute().actionGet();

其中'查询'是一个布尔查询。 但是尝试使用相同的查询:

SearchResponse scrollResp = esClient.prepareSearch(indexName)
                .setSearchType(SearchType.DEFAULT)
                .addSort("_doc", SortOrder.ASC)
                .setTypes("File")
                .setScroll(new TimeValue(ES_SCROLL_TIMEOUT_MILLIS))
                .setQuery(query)  .setSize(ES_BATCH_SIZE).execute().actionGet();

没有得到任何结果。 作为一种解决方法,已弃用的代码仍然有效,但我很想知道如何使用更新的API来完成它。

0 个答案:

没有答案