首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 开源软件 >

elasticsearch游标查询全部数据

2013-08-16 
elasticsearch游标查询所有数据import org.elasticsearch.action.search.SearchResponseimport org.elast

elasticsearch游标查询所有数据
import org.elasticsearch.action.search.SearchResponse;import org.elasticsearch.action.search.SearchType;import org.elasticsearch.client.Client;import org.elasticsearch.common.unit.TimeValue;import org.elasticsearch.search.SearchHit;import donlian.es.ESUtils;/** * 使用scroll方法实现复制索引 * @author donlianli@126.com */public class ScrollTest {public static void main(String[] args) {Client esClient = ESUtils.getClient();SearchResponse searchResponse = esClient.prepareSearch(ESUtils.getIndexName())//加上这个据说可以提高性能,但第一次却不返回结果.setSearchType(SearchType.SCAN)//实际返回的数量为5*index的主分片格式 .setSize(5) //这个游标维持多长时间 .setScroll(TimeValue.timeValueMinutes(8)) .execute().actionGet();//第一次查询,只返回数量和一个scrollIdSystem.out.println(searchResponse.getHits().getTotalHits());System.out.println(searchResponse.getHits().hits().length);//第一次运行没有结果for (SearchHit hit : searchResponse.getHits()) { System.out.println(hit.getSourceAsString());}System.out.println("------------------------------");//使用上次的scrollId继续访问searchResponse = esClient.prepareSearchScroll(searchResponse.getScrollId()) .setScroll(TimeValue.timeValueMinutes(8)) .execute().actionGet();System.out.println(searchResponse.getHits().getTotalHits());System.out.println(searchResponse.getHits().hits().length);for (SearchHit hit : searchResponse.getHits()) { System.out.println(hit.getSourceAsString());}}}

?

?

?

?

?

对这类话题感兴趣?欢迎发送邮件至donlianli@126.com关于我:邯郸人,擅长Java,Javascript,Extjs,oracle sql。更多我之前的文章,可以访问?我的空间

热点排行