Start
Start

Reputation: 41

how to deal with datastore-indexes app engine?

for this example LINK i try to make it but this exception occurred ??

com.google.appengine.api.datastore.DatastoreNeedIndexException: no matching index found.
The suggested index for this query is:
<datastore-index kind="Contact" ancestor="true" source="manual">
    <property name="UserContacts_INTEGER_IDX" direction="asc"/>
</datastore-index>

how can i write these indexes manually ?? i try to make WEB-INF/datastore-indexes.xml at this XML i write the following :

<?xml version="1.0" encoding="utf-8"?>
<datastore-indexes  autoGenerate="true">

<datastore-index kind="Contact" ancestor="true" source="manual">
    <property name="UserContacts_INTEGER_IDX" direction="asc"/>
</datastore-index>

but when Iam going to deploy this error stop me to continue deploying

An internal error occurred during: "Deploying store to Google". XML error validating

So how can i get these indexes ??

another issues >> when i run this code and add some properties at User class as

@Persistent (mappedBy = "userC")
 public List<Contact> UserContacts =new  ArrayList<Contact>();

and deploy it , the engine make indexes for the UserContacts however appear Exception due to the new property - same error above can't make indexes to them -

Upvotes: 4

Views: 1207

Answers (1)

jirungaray
jirungaray

Reputation: 1674

The best thing for you to do is run you app locally and perform some test queries on those entities. As you have <datastore-indexes autoGenerate="true"> in your indexes config you should get a file called

WEB-INF/appengine-generated/datastore-indexes-auto.xml 

in there you should get all the index definitions needed for your app to work.

Copy those index definitions to your WEB-INF/datastore-indexes.xml and update your app.

If you go to your cloud console and check on your Storage/datastore/indexes view you should be all those indexed either building or serving. Once all those indexes are on "serving" you should be good to go.

Upvotes: 1

Related Questions