0

我需要运行这样的搜索查询:

SELECT from results WHERE owner=mike,john,tom ...etc
它应该提供这些用户名拥有的项目的串联。查询中可能有大约 100-200 个用户名。使用用户名作为过滤器(例如 filter(1)=mike&filter(2)=john 等)使用全文搜索 API(我已经将它用于关键字查询)来执行此操作是可行的,或者我应该尝试某种数据存储连接手术 ?

4

2 回答 2

0

可以像这样构造一个查询:
owner:mike OR owner:john OR owner:tom等等,但这对于大量可能的所有者值来说效率不高。
相反,请考虑您是否可以根据某些应用程序语义对所有者进行分组(例如,一些所有者在 'usergroup1' 中,一些所有者在 'usergroup2' 中,等等),然后使用 eg 查询文档usergroup:usergroup1

或者,如果您可以为每个所有者分配一个数值(这对您的应用程序有意义),您可以使用数字比较器,例如 owner_number < 10.

于 2012-05-17T01:03:49.737 回答
0

我猜第一个查询是 MySQL 查询,对吧?如果字段“所有者”在 MySQL 查询中有索引,那么您可以使用以下结构:

SELECT from results WHERE owner IN ('mike','john','tom')

关于APP Engine我不能说太多,但肯定你需要使用过滤器。

于 2012-05-17T06:59:47.017 回答