为了账号安全,请及时绑定邮箱和手机立即绑定

Google App Engine Search for Go:如何分页?

Google App Engine Search for Go:如何分页?

Go
不负相思意 2021-10-04 16:36:09
如果我查询 Google App Engine Search for Go(例如前 10 个结果),我该如何进行后续查询以获取接下来的 10 个结果?没有我所知道的游标。
查看完整描述

1 回答

?
互换的青春

TA贡献1797条经验 获得超6个赞

编辑:好消息!自撰写此答案以来,Search API 的 Cursors 已完成并已发布,因此它已普遍可用。


检查Cursor类型。甲Cursor值可以在指定SearchOptions。因此,当您调用时Index.Search(),您可以将 aSearchOptions与Cursor您之前从Iterator.Cursor().


原答案如下。


你倒霉了。


通常,搜索 API 支持游标(例如参见Java Using cursors)并且它也在 Go 中实现,但用于搜索的游标 API 不完整且未导出。


有关证据,请参阅search/search.go的来源:Iterator类型(由Index.List()和Index.Search()方法都返回)有一个未导出的searchCursor字段(当前第 602 行),这正是我们认为的那样,并且在内部使用,只是不是出口。


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


// Currently starts at line #464:

type SearchOptions struct {

    ...

    // TODO: cursor, offset, maybe others.

}

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


查看完整回答
反对 回复 2021-10-04
  • 1 回答
  • 0 关注
  • 147 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信