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来完成它。