我看到了新的应用程序引擎Search API允许我们进行搜索和分页结果,但就我而言,我还需要一些函数来匹配所有内容并按类别匹配所有内容,因此仍然无法抵消仅需要第2页的查询类别,即只是一个简单的偏移量?使用游标和使用偏移量有什么区别?
我从https://developers.google.com/appengine/docs/python/search/overview阅读了说明
而且我还想知道是否应该为多种数据类型创建一个索引,还是为每个类别或每个城市创建一个索引,因为我的结构是/<region>/<city>/<category>
,因此我需要启用搜索功能,并按类别查看所有内容,并按区域,按城市查看所有内容,按城市和类别进行搜索,而无需过滤。
谢谢你的帮助
更新资料
我的想法是在每个索引中存储一个数字,并且该数字是相同的,并且当我要匹配所有内容时,我只是将搜索操作为对该字段上该数字的搜索,然后可以添加过滤器。能行吗
最佳答案
关于游标与偏移:游标效率更高。但是,(由于搜索API还没有像数据存储库那样的“反向”游标),因此使用offset可以更容易地实现向后分页(到“上一页”页面)。因此,这取决于您的用例。
在查询中,可以过滤特定的字段值(任何类型,包括数字和字符串字段)。例如。您的查询可能如下所示:
field1:value1 word1 word2
其中“ field1”是字段名称。
如果“ field1”为数字,则您还可以提交如下查询:
field1 > 10
(对于一个索引还是多个索引,我不清楚您的问题,能否详细说明?)