我可以使用google.api.search来匹配所有内容,只按类别过滤吗?

时间:2012-05-11 09:08:06

标签: python google-app-engine python-2.7

我看到新的应用引擎搜索API允许我们搜索并对结果进行分页,但在我的情况下,我还需要函数来匹配所有内容并按类别匹配所有内容,因此仍然无法抵消只是想要的查询第2页按类别即只是一个简单的偏移量?使用游标和使用偏移量有什么区别? 我阅读了https://developers.google.com/appengine/docs/python/search/overview的说明 我还想知道我是否应该为许多数据类型创建一个索引,或者为每个类别或每个城市创建一个索引,因为我的结构是/<region>/<city>/<category>,我需要启用搜索以及按类别查看所有索引并按区域查看所有城市和按城市和类别,没有搜索和过滤。

感谢您的帮助

更新

我的想法是在每个索引处存储一个数字,并且该数字是相同的,当我想匹配所有内容时,我只是操纵搜索到在该字段上搜索该数字,然后我可以添加过滤器。它会起作用吗?

1 个答案:

答案 0 :(得分:2)

关于光标与偏移:光标效率更高。但是,(由于搜索API还没有像数据存储区那样的“反向”光标),因此使用偏移量可以更容易地实现向后分页 - “前一页”。所以,这取决于你的用例。

在查询中,可以过滤特定字段值(任何类型,包括数字和字符串字段)。例如。您的查询可能如下所示:
 field1:value1 word1 word2
其中'field1'是一个字段名称。 如果'field1'是数字,您还可以提交如下查询:
 field1 > 10

(关于一个vs多个索引的问题,我不清楚 - 你能详细说明吗?)