Я только что протестировал и перераспределил свое приложение на тестовый экземпляр, и он работал нормально, затем я изменил идентификатор приложения и перераспределил его на экземпляр моего производства, и у меня возникла проблема с индексацией. Как мне избежать этого в будущем? Я приложил все усилия, чтобы проверить его, и все получилось отлично!Почему я получаю это исключение в GAE
Uncaught exception from servlet
com.google.appengine.api.datastore.DatastoreNeedIndexException: no matching index found.. <datastore-index kind="Article" ancestor="false" source="manual">
<property name="tags" direction="asc"/>
<property name="created" direction="asc"/>
</datastore-index>
at com.google.appengine.api.datastore.DatastoreApiHelper.translateError(DatastoreApiHelper.java:40)
at com.google.appengine.api.datastore.DatastoreApiHelper.makeSyncCall(DatastoreApiHelper.java:67)
Консоль администратора сообщает, что это «Создание» индекса. Он сказал, что уже 20 минут! Сколько времени это занимает!?
Индексы построены, когда файл определения индекса, порожденное SDK, загружается на сервер. В отличие от SDK, производственная среда автоматически не создает индексы при выполнении запросов. –
Я решил это, добавив индексы tot WEB-INF/datastore-indexes.xml, как указано здесь: http://dnhome.wordpress.com/2011/10/07/google-apps-engine-write-first-queries- to-get-entity-from-datastore/GAE предлагает запись для него, которая в моем случае была правильной. – Herbert