Google App Engine搜索Go:如何分页?

时间:2015-05-07 23:43:29

标签: google-app-engine go

如果我查询Google App Engine搜索Go,例如对于前10个结果,如何进行后续查询以获取接下来的10个结果?我没有注意到的游标。

1 个答案:

答案 0 :(得分:6)

编辑:好消息!自编写此答案以来,搜索API的游标已经完成并发布,因此它通常可用。

查看Cursor类型。可以在SearchOptions中指定{"ab":1,"bc":2,"cd":3}值。因此,当您致电Index.Search()时,您可以通过先前从Iterator.Cursor()获得的Cursor来传递SearchOptions

原始答案如下。

你运气不好。

一般来说,搜索API支持游标(例如,请参阅Java Using cursors),并且它也在Go中实现,但搜索的游标API不完整且未导出。

有关证据,请参阅search/search.go的来源:Iterator类型(由Index.List()Index.Search()方法返回)有一个未导出的Cursor字段(目前第#602行,这正是我们认为的,它在内部使用,它只是不被导出。

如果您检查同一源文件(search / search.go)中SearchOptions结构的来源(这是您在启动/执行搜索时可以传递给Index.Search()方法的内容):

searchCursor

因此,计划添加对搜索游标,偏移量等的支持,它尚未实现和导出。希望在将来的版本中添加。