Кластеризация родительского ключа в хранилище данных Google App Engine - PullRequest
0 голосов
/ 29 мая 2011

У меня есть модель с сущностями, которая включает родительские ключи. Я хочу знать, возможно ли сделать конкретный запрос, чтобы получить только ключи родителей, учитывая некоторые ограничения атрибутов для дочерних объектов.

Я попробую привести пример. Предположим, что у нас есть имена людей, их родителей (просто ключ) и их любимый цвет:

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

Я хочу, чтобы в результате запроса был получен следующий список без повторяющихся элементов при запросе цвета Yellow: < Albert, Rupert >.

Обратите внимание, что меня не интересуют дети, только ключи родителей. Также обратите внимание, что хотя я мог бы сгруппировать повторяющиеся ключи в Set<Key>, это могло бы нарушить подкачку моего приложения.

Я знаю, что запросов distinct нет, но поисковые системы обычно имеют функцию «кластеризации» для выполнения этой задачи. И я считаю, что основная организация хранилища данных похожа на организацию полнотекстовой поисковой системы. Вот почему я прошу.

Кстати, я использую низкоуровневый API хранилища данных Java.

Заранее спасибо.

1 Ответ

2 голосов
/ 29 мая 2011

GAE Datastore не имеет этой функциональности.(Как правило, хранилище данных не выполняет никаких манипуляций с возвращаемыми данными - единственная логика заключается в выборе элементов для возврата.)

...