Как я могу удалить автоматические индексы в App Engine? - PullRequest
2 голосов
/ 18 ноября 2011

Итак, у меня есть живое приложение Python на App Engine, в котором слишком много автоматических индексов. Я заметил большое количество записей в хранилище данных из-за моего низкого количества сущностей, и я считаю, что это является причиной. У каждой сущности есть много StringProperties, а у некоторых даже есть StringListProperties.

Я добавил indexed = False ко всем свойствам моего объекта (я не каждый использую запрос там, где это имеет значение):

someproperty = db.StringProperty(indexed = False)

Что еще мне нужно сделать, чтобы новые сущности были неиндексированы? Нужно ли увеличивать идентификатор версии приложения?

Нужно ли мне запускать appcfg.py vacuum_indexes .?

Ответы [ 2 ]

3 голосов
/ 18 ноября 2011

uum_indexes предназначен только для индексов, определенных в index.yaml, для автоматического индекса достаточно установить indexed = False и загрузить новую версию.

Вы можете увидеть влияние установки индексации на False на странице хранилища данных сервера разработки в столбце количества записей.

1 голос
/ 19 ноября 2011

Чтобы избавиться от существующих автоматических индексов, вам придется извлечь каждую отдельную сущность и заново поместить ее со свойствами indexed = False.

Если вы этого не сделаете, то автоматические индексыошиваться.Однако созданные вами новые объекты не будут добавлены к этим индексам.

...