Elasticsearch分页 - 最后一页返回太多结果

时间:2015-09-22 08:39:36

标签: java elasticsearch

我的Elasticsearch查询返回111个结果,这意味着如果我通过它们进行分页(每页10个结果),我应该有12个页面:11个完整页面和1个页面,只有一个结果。

但是,我的最后一页仍然会返回10个结果。它按预期返回最后一个结果,但也返回上一页的9个结果。如何禁用此行为并让它只返回预期的单个结果?

我使用Java API,使用以下代码:

let addLnNum3 filename =    
    use outFile = new StreamWriter(@"out.txt")    
    File.ReadLines(filename)
    |> Seq.map (fun s -> Seq.count + s) //no such thing as Seq.count
    |> Seq.iter outFile.WriteLine 
    |> ignore

1 个答案:

答案 0 :(得分:4)

ES查询中的from参数不是页码,而是偏移量。因此,如果您想要第11页,from必须为110(假设size为10)而不是11。

因此,您可以使用@PathParam继续传递页码,但传递给setFrom()的值必须为page * size,而不仅仅是page

因此对于page = 0,您需要致电setFrom(0)page = 1致电setFrom(10)等,以及page = 11(即第12页) ),你会打电话给setFrom(110)