Если вы переключались между indexed=True
и indexed=False
для некоторых свойств с течением времени и у вас есть набор сущностей, записанных в обоих режимах, то у вас будут некоторые свойства, которые проиндексированы, а некоторые - нет. , Вы в этой ситуации?
Если у вас нет надежной истории в вашем коде, попытка определить, находитесь ли вы в этой ситуации, будет немного сложнее, в зависимости от того, сколько у вас объектов. Вы можете определить, находитесь ли вы в несогласованном состоянии, отметив, что запрос только для ключей в сущности возвращает другое количество ключей, чем запрос, который фильтрует по подозрительному свойству. Фильтр не найдет неиндексированные свойства. Если у вас много сущностей, вам придется каким-то образом отсеять подсчет (чтобы избежать задержки по длинному запросу, который возвращает множество сущностей).
Если вы определили, что у вас непоследовательная индексация и хотите восстановить целостность ваших сущностей, обычный подход - написать mapreduce , который затрагивает все ваши нестабильные сущности и создает необходимые свойства. .