比较 GQL 中的两个不同属性
Comparing two different properties in GQL
以下两个 GQL 查询有效:
SELECT * FROM Customer WHERE FirstName = "John"
SELECT * FROM Customer WHERE Rating > 4.0
但是,当我将它们结合起来时...
SELECT * FROM Customer WHERE FirstName = "John" AND Rating > 4.0
... 即使 运行 查询单独找到了我正在寻找的实体,我也得到了一个空的结果集。如何比较多个 属性?
这是我所做的:
- 我确保至少存在一个实体,且两者都为真。
- 我为属性创建了一个索引:
Google 的 Patrick Costello 回答了我的问题:
You need an index on exactly (FirstName, Rating). Your current index cannot answer that query.
基本上,问题是我为所有属性创建了索引。但是,每个 "type" 查询(在本例中,比较 FirstName 和 Rating 的查询)都需要自己的索引(即只有 FirstName 和 Rating 的索引)。我希望这对某人有所帮助!
以下两个 GQL 查询有效:
SELECT * FROM Customer WHERE FirstName = "John"
SELECT * FROM Customer WHERE Rating > 4.0
但是,当我将它们结合起来时...
SELECT * FROM Customer WHERE FirstName = "John" AND Rating > 4.0
... 即使 运行 查询单独找到了我正在寻找的实体,我也得到了一个空的结果集。如何比较多个 属性?
这是我所做的:
- 我确保至少存在一个实体,且两者都为真。
- 我为属性创建了一个索引:
Google 的 Patrick Costello 回答了我的问题:
You need an index on exactly (FirstName, Rating). Your current index cannot answer that query.
基本上,问题是我为所有属性创建了索引。但是,每个 "type" 查询(在本例中,比较 FirstName 和 Rating 的查询)都需要自己的索引(即只有 FirstName 和 Rating 的索引)。我希望这对某人有所帮助!