Я хотел бы знать, возможно ли спроектировать индексы и запросы Google Datastore таким образом, чтобы я мог уменьшить количество составных индексов, необходимых для моего проекта.
Я пытался использовать один индексэто работает с обоими моими запросами, как в примере, найденном здесь . Тем не менее, я не могу найти способ для одного индекса работать с моими запросами, и я не знаю, существует ли он вообще. Ниже приведены два запроса, с которыми я работал, и рекомендации по индексам хранилища данных, которые я получаю для обоих. Есть ли что-то, что я мог бы сделать по-другому, чтобы эти запросы работали с одним индексом?
Запрос 1:
CompositeFilter.and(
CompositeFilter.and(PropertyFilter.gt("time", time1), PropertyFilter.lt("time", time2)),
PropertyFilter.eq("user", user1),
PropertyFilter.eq("color", color1),
PropertyFilter.eq("bpm", bpm1));
addOrderBy(OrderBy.asc("time"), OrderBy.asc("location"));
Запрос индекса 1 Предложение:
- name: color
- name: bpm
- name: user
- name: time
- name: location
Запрос2:
CompositeFilter.and(
CompositeFilter.and(PropertyFilter.gt("time", time1), PropertyFilter.lt("time", time2)),
PropertyFilter.eq("user", user1));
addOrderBy(OrderBy.asc("time"), OrderBy.asc("color"), OrderBy.asc("bpm"), OrderBy.asc("location"));
Запрос индекса 2 Предложение:
- name: user
- name: time
- name: color
- name: bpm
- name: location