Elasticsearch:搜索并向用户显示结果,Scroll API

时间:2014-07-23 15:03:31

标签: elasticsearch

我是Elasticsearch的新手。我对Scroll API感到困惑 http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/search-request-scroll.html

  

滚动不适用于实时用户请求,而是适用于   处理大量数据,例如为了重新索引   一个索引的内容到具有不同配置的新索引中。

我需要的是:

  1. 用户键入搜索词组并单击搜索按钮
  2. 程序在Elasticsearch中搜索结果的第一页
  3. 向用户显示结果的第一页,如果他点击"下一页"或跳转到另一个后一页,程序显示该页面的结果。
  4. 以下是我找到的两种方式:

    SearchResponse scrollResp = client.prepareSearch("book")
            .setTypes("children")
            .setQuery(query)
            .setSize(20).execute().actionGet();  
    
    SearchResponse scrollResp = client.prepareSearch("book")
            .setTypes("children")
            .setSearchType(SearchType.SCAN)
            .setScroll(new TimeValue(60000))
            .setQuery(query)
            .setSize(20).execute().actionGet();  
    

    我应该使用哪个?

    谢谢和问候!

1 个答案:

答案 0 :(得分:1)

您应该使用fromsize参数来控制分页,from是起始索引,size是每页的项目。

SearchResponse scrollResp = client.prepareSearch("book")
    .setTypes("children")
    .setQuery(query)
    .setFrom(20)
    .setSize(20).execute().actionGet();  

http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/search-request-from-size.html

相关问题