Изменить / удалить индекс хранилища данных в Google App Engine - PullRequest
2 голосов
/ 13 августа 2010

Мой старый web.xml был

<datastore-index kind="TBL" ancestor="false"> 
    <property name="Col1" direction="asc" /> 
    <property name="Col2" direction="desc" />
    <property name="Col3" direction="asc" />
    <property name="Col4" direction="asc" />
    <property name="Col5" direction="asc" />
    <property name="Col6" direction="asc" />
    <property name="Col7" direction="asc" />
    <property name="Col8" direction="asc" />                         
</datastore-index>  

Мой новый web.xml

<datastore-index kind="TBL" ancestor="false"> 
    <property name="Col1" direction="asc" /> 
    <property name="Col2" direction="desc" />
    <property name="Col3" direction="asc" />
    <property name="Col4" direction="asc" />
    <property name="Col5" direction="asc" />
    <property name="Col6" direction="desc" />
    <property name="Col7" direction="asc" />
    <property name="Col8" direction="asc" />                         
</datastore-index>  

Создан индекс на сервере

TBL  
------------
Col2 ▲ , Col1 ▲ , Col6 ▼  
Col4 ▲ , Col1 ▲ , Col6 ▼  
Col5 ▲ , Col8 ▲ , Col1 ▲ , Col6 ▲ => I got error for this index
Col8 ▲ , Col1 ▲ , Col6 ▲   
Col1 ▲ , Col2 ▼ , Col3 ▲ , Col4 ▲ , Col5 ▲ , Col7 ▲ , Col8 ▲ 
Col1 ▲ , Col2 ▼ , Col3 ▲ , Col4 ▲ , Col5 ▲ , Col6 ▼ , Col7 ▲ , Col8 ▲ 
Col1 ▲ , Col7 ▲  
Col1 ▲ , Col6 ▲  
Col1 ▲ , Col6 ▼  

Я получаю индексне найдена ошибка для 3-го индекса.Я хочу изменить направление для col6 во всем индексе и установить его "desc".

Как я могу это сделать?или как я могу удалить индекс?

Кто-нибудь?

Ответы [ 3 ]

5 голосов
/ 19 августа 2010

Вам нужна команда vacuum_indexes.

http://code.google.com/appengine/docs/python/tools/uploadinganapp.html#Deleting_Unused_Indexes

Это будет работать как для приложений на Java, так и на Python.Фактически, Java appcfg.sh еще не поддерживает это, поэтому вам понадобится Python SDK, если вы запускаете приложение Java.

1 голос
/ 17 мая 2018

Моя среда / процесс:

  • Я определяю и поддерживаю (добавляю, удаляю и т. Д.) Свои индексы в файле с именем "datastore-indexes.xml".
  • Я строюи разверните мой WAR-файл, используя задачу Maven «mvn appengine: deploy».
  • Я развертываю индексы с помощью задачи «mvn appengine: deployIndex».

Когда я запускаю эти задачи, моя сборка создает этот каталог "target \ appengine-staging \ WEB-INF \ appengine-генерируемый".

В этом каталоге вы найдете файл "index.yaml" с индексами, которые были сгенерированы из вашегоФайл "datastore-indexes.xml".

1. Open the Google Cloud SDK Shell, and cd to the directory with the "index.yaml" file.

2. In the shell, type "gcloud datastore indexes cleanup index.yaml"

3. It will prompt you to continue, and it will further notice indexes in the Cloud Datastore, that are not defined in the local "index.yaml" file.

4. Here it will prompt you to delete these indexes.

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

0 голосов
/ 07 февраля 2019

Теперь это можно сделать (2019-02-06) с помощью:

gcloud datastore indexes cleanup <INDEX_FILE>

https://cloud.google.com/sdk/gcloud/reference/datastore/indexes/cleanup

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...