Cloudant 上搜索索引的分页
Pagination for search indexes on cloudant
我有一个 cloudant 数据库,其中包含用户访问日志的文档。示例:
{
"name": "John Doe",
"url": "somepage.html",
"dateaccessed": "2016-08-23T21:20:25.502Z"
}
我用函数创建了一个搜索索引:
function (doc) {
if(doc.dateaccessed) {
var d = new Date(doc.dateaccessed);
index("dateaccessed", d.getTime(), {store: true});
}
}
现在,此设置仅通过普通查询即可按预期工作。例子
{
q: 'dateaccessed:[1420041600000 TO 1471987625266]',
include_docs: true,
sort: '-dateaccessed<number>',
}
但是,我希望限制结果 - 假设一次 5 个(这可以通过 "limit: 5" 参数来完成),我想以某种方式进行分页 - 能够移动到接下来的 5 个结果或前 5 个结果。
我查看了 cloudant 文档,那里有一个名为 "bookmark" (https://cloudant.com/for-developers/search/) 的参数,但我不确定如何使用它。
我可以要求对此有任何见解吗?
Cloudant documentation 显示了如何使用书签的示例,但要点是您在搜索响应中从服务器获取书签,在请求下一页时,您使用请求中收到的书签在 JSON 对象中 POST 或 GET 的查询参数中使用 bookmark
参数。
我有一个 cloudant 数据库,其中包含用户访问日志的文档。示例:
{
"name": "John Doe",
"url": "somepage.html",
"dateaccessed": "2016-08-23T21:20:25.502Z"
}
我用函数创建了一个搜索索引:
function (doc) {
if(doc.dateaccessed) {
var d = new Date(doc.dateaccessed);
index("dateaccessed", d.getTime(), {store: true});
}
}
现在,此设置仅通过普通查询即可按预期工作。例子
{
q: 'dateaccessed:[1420041600000 TO 1471987625266]',
include_docs: true,
sort: '-dateaccessed<number>',
}
但是,我希望限制结果 - 假设一次 5 个(这可以通过 "limit: 5" 参数来完成),我想以某种方式进行分页 - 能够移动到接下来的 5 个结果或前 5 个结果。
我查看了 cloudant 文档,那里有一个名为 "bookmark" (https://cloudant.com/for-developers/search/) 的参数,但我不确定如何使用它。
我可以要求对此有任何见解吗?
Cloudant documentation 显示了如何使用书签的示例,但要点是您在搜索响应中从服务器获取书签,在请求下一页时,您使用请求中收到的书签在 JSON 对象中 POST 或 GET 的查询参数中使用 bookmark
参数。