我的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
答案 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)
。