【发布时间】:2011-06-19 02:13:40
【问题描述】:
我正在关注 YQL 示例查询
select * from local.search(500) where query="sushi" and location="san francisco, ca"
但我得到的最大计数是 260 而不是 500。我还尝试在“where”和不同的关键字之后使用限制 500,总是得到最多 260 个结果。怎么增加?
【问题讨论】:
标签: yql
我正在关注 YQL 示例查询
select * from local.search(500) where query="sushi" and location="san francisco, ca"
但我得到的最大计数是 260 而不是 500。我还尝试在“where”和不同的关键字之后使用限制 500,总是得到最多 260 个结果。怎么增加?
【问题讨论】:
标签: yql
local.search 表使用的底层 API (Yahoo! Local Search Web Service) 对返回的结果数量有限制。
results 参数(“每页”结果数)的最大值为 20。
start 参数(开始的偏移量)的最大值为250。
由于您要求前 500 个结果,YQL 对本地搜索 API 进行多次查询,一次返回 20 个结果。因此start 的值为1、21、41、...241。如您所见,这会返回 260 个结果。
由于 YQL 查询要求更多结果,因此尝试下一个 start 值 (261),它超出了允许的范围,因此基础服务返回错误(带有消息“无效值:启动 (261)必须在 1 到 250" 之间)。如果您在 YQL 控制台中打开“诊断”,您将看到返回“错误请求”。
您对查询执行的任何操作都不会返回超出底层服务允许的结果。
【讨论】:
我想通了,我缺少分页号码,所以 0++ 可以工作
select * from local.search(0,500) where query="sushi" and location="san francisco, ca"
【讨论】: