2011-05-28 102 views
0

我有一個包含父鍵的實體的模型。我想知道是否有可能通過特定的查詢來獲取父子關鍵字,這些子關鍵字在子實體上受到一些屬性限制。Google App Engine數據存儲區中的父鍵集羣

我會試着舉個例子。假設我們有一個人的名字,他們的父母(只是鍵),和自己喜歡的顏色:

 
| Name | Parent | Color | 
----------------------------- 
| Robert | Albert | Yellow | 
| Rupert | Albert | Yellow | 
| Gilbert | Albert | Green | 
| Q-bert | Rupert | Yellow | 

我希望查詢以獲得以下列表中沒有重複的元素作爲一個結果,對於顏色Yellow查詢時:< Albert, Rupert >

請注意,我對孩子不感興趣,只是父母的關鍵。還要注意,雖然我可以將Set<Key>中的重複鍵分組,這會破壞我的應用程序的分頁。

我知道沒有distinct查詢,但搜索引擎通常具有「集羣」功能來完成此任務。我相信數據存儲的底層組織就像是一個全文搜索引擎的組織。這就是爲什麼我問。

順便說一句,我正在使用低級Java數據存儲API。

在此先感謝。

+1

*「我相信數據存儲的底層組織就像一個全文搜索引擎。「* - 事實並非如此。 – Amber 2011-05-29 00:07:37

+0

感謝您的回覆。順便說一下,你有任何文件或鏈接,你可以指出這個潛在的組織? – mschonaker 2011-05-31 00:37:05

+0

Datastore構建於BigTable之上(http://labs.google.com/papers/bigtable.html)。它會爲您的應用運行的每個查詢創建索引(換句話說,您運行的每個查詢都會觸發一個索引);這就是爲什麼你可以運行的一組查詢是如此受限制(因爲只有允許使用單個索引的查詢纔是允許的)。 – Amber 2011-06-02 07:03:02

回答

2

GAE Datastore沒有此功能。 (通常,數據存儲不會對其返回的數據進行任何操作 - 唯一涉及的邏輯是選擇要返回的項目。)

相關問題