I handle a class MyClass that holds a list property myListProperty.
I use the low-level API to query over this class, with a dynamic number of
filters over this very single field.
Those filters mainly use different kind of operators (inequality filters and
"in" filters).
Sample code:
Query q = new Query("MyClass");
q.addFilter("myListProperty", FilterOperator.IN, oneCollection);
q.addFilter("myListProperty", FilterOperator.IN, anotherCollection);
q.addFilter("myListProperty", FilterOperator.GREATER_THAN, oneString);
q.addFilter("myListProperty", FilterOperator.LESS_THAN, anotherString);
When executing this query in dev mode, it generates the following index in
"datastore-indexes-auto.xml":
<!-- Used 15 times in query history -->
<datastore-index kind="MyClass" ancestor="false" source="auto">
<property name="myListProperty" direction="asc"/>
<property name="myListProperty" direction="asc"/>
<property name="myListProperty" direction="asc"/>
</datastore-index>
You got it : this would generate a mega-exploding index problem when in
productionÅ
Can someone confirm that this kind of index is NOT REQUIRED when executing
that query on the actual datastore ?
--
You received this message because you are subscribed to the Google Groups
"Google App Engine for Java" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/google-appengine-java?hl=en.