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 google-appengine-java@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine-java+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en.

Reply via email to