当我使用limit = 20进行GAE搜索时,我没有得到排名最高的20个结果,我不确定这是一个错误还是已知限制(功能)。
以下是我的热门搜索结果,其中limit = 20(其中第一个数字是排名,第二个数字只是一个相关时间戳,以便于阅读):
rank 1589728448 2017-09-03 12:00:00
rank 1589778848 2017-09-02 22:00:00
rank 1589778848 2017-09-02 22:00:00
rank 1589778848 2017-09-02 22:00:00
rank 1589780648 2017-09-02 21:30:00
rank 1589786048 2017-09-02 20:00:00
rank 1589786048 2017-09-02 20:00:00
rank 1589804048 2017-09-02 15:00:00
rank 1589807648 2017-09-02 14:00:00
rank 1589807648 2017-09-02 14:00:00
rank 1589814848 2017-09-02 12:00:00
rank 1589814848 2017-09-02 12:00:00
rank 1589865248 2017-09-01 22:00:00
rank 1589870648 2017-09-01 20:30:00
rank 1589876048 2017-09-01 19:00:00
rank 1589879648 2017-09-01 18:00:00
rank 1590416048 2017-08-26 13:00:00
rank 1593852248 2017-07-17 18:30:00
rank 1594282448 2017-07-12 19:00:00
rank 1595326448 2017-06-30 17:00:00
同样,这里是来自极限= 1000的搜索的最佳排名文档:
rank 1589721248 2017-09-03 14:00:00
rank 1589728448 2017-09-03 12:00:00
rank 1589778848 2017-09-02 22:00:00
rank 1589778848 2017-09-02 22:00:00
rank 1589778848 2017-09-02 22:00:00
rank 1589780648 2017-09-02 21:30:00
rank 1589782448 2017-09-02 21:00:00
rank 1589786048 2017-09-02 20:00:00
rank 1589786048 2017-09-02 20:00:00
rank 1589804048 2017-09-02 15:00:00
rank 1589807648 2017-09-02 14:00:00
rank 1589807648 2017-09-02 14:00:00
rank 1589814848 2017-09-02 12:00:00
rank 1589814848 2017-09-02 12:00:00
rank 1589865248 2017-09-01 22:00:00
rank 1589870648 2017-09-01 20:30:00
rank 1589876048 2017-09-01 19:00:00
rank 1589876048 2017-09-01 19:00:00
rank 1589879648 2017-09-01 18:00:00
rank 1589890448 2017-09-01 15:00:00
rank 1590131648 2017-08-29 20:00:00
rank 1590304448 2017-08-27 20:00:00
rank 1590416048 2017-08-26 13:00:00
rank 1590419648 2017-08-26 12:00:00
rank 1593852248 2017-07-17 18:30:00
rank 1594037648 2017-07-15 15:00:00
rank 1594282448 2017-07-12 19:00:00
rank 1595326448 2017-06-30 17:00:00
请注意,肯定存在一些重叠...但是该限制= 1000会返回排除限制= 20的排名较高的文档。几乎就像极限= 20在它找到所有最好的文件之前放弃了。
我做错了什么,或者我不应该期望limit = N来返回N-best结果?
Google Appengine Search docs州:
文档的等级是一个正整数,用于确定 从搜索返回的文档的默认排序。
以及关于游标和限制的以下内容:
对search()的调用只能返回有限数量的匹配 文档。您可以使用游标或偏移重复相同的搜索 检索完整的匹配文档集。
通过仅返回一部分来支持通过搜索结果进行分页 每个查询的匹配文档(使用偏移和游标)
我不清楚如果结果的第一页(限制= 20)实际上不保证是前20个结果,那么结果的分页如何在这里起作用...:/