Я создаю приложение GAE, в котором есть объекты с множеством логических свойств.Я хочу, чтобы можно было осуществлять поиск по этим свойствам, делая запрос, подобный (в psuedo-sql): «получить элементы, где X1 = True, X2 = False, X3 = False и позволить X4-X7 быть либо истиной, либо ложью».
У меня есть модель, похожая на показанную ниже:
class JobModel(BaseModel):
job_name = db.StringProperty();
part_time = db.BooleanProperty();
has_401k = db.BooleanProperty();
has_health_in = db.BooleanProperty();
has_childcare = db.BooleanProperty();
has_edu_reim = db.BooleanProperty();
Проблема в том, что GAE требуется индекс для каждого возможного способа поиска этих логических значений.Так что если у вас есть 5 логических свойств, вам понадобится 32 различных индекса.Если у вас есть 20 логических свойств (в моем случае), вам нужно более миллиона индексов!
Должен быть лучший способ настроить эту схему хранилища данных, верно?