google-app-engine - 谷歌应用引擎搜索 Go : How to paginate?

标签 google-app-engine go

如果我查询 Google App Engine Search for Go,例如对于前 10 个结果,如何进行后续查询以获取接下来的 10 个结果?没有我知道的游标。

最佳答案

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

查看 Cursor类型。可以在 SearchOptions 中指定 Cursor 值.所以当你调用Index.Search() , 你可以传递一个 SearchOptions 和一个你之前从 Iterator.Cursor() 获得的 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.
}

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

关于google-app-engine - 谷歌应用引擎搜索 Go : How to paginate?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30113476/

相关文章:

google-app-engine - 如何在 Google App Engine for Go 中设置数据 fixture

google-app-engine - 部署 App Engine 应用程序时出现错误消息 "service cloudbuilt.googleapis.com is not for consumer..."

google-app-engine - 如何将系统环境变量传递给app.yaml?

python - 在 Google App Engine 上显示生成的 jpg map

从本地 fork 获取安装

android - 运行 Google App Engine 移动后端客户端时出错

Golang struct {}{} 含义

go - golang中不同类型的 slice

go - 如何获取地址以使用反射字段?

go - BoltDB 中的键顺序