On Thu, Mar 18, 2010 at 9:32 AM, Nick Johnson (Google) <[email protected]> wrote: > Hi Jeff, > Unindexed properties are excluded from all indexing, not just from indexing > by the built-in indexes. > -Nick Johnson
Ah ha. The next question then is - why? This current arrangement has some particularly nasty consequences: 1) If you want a custom index across 3 properties, you are now forced to maintain seven indexes total - the three single-property ASC indexes, the three single-property DESC indexes, and the actual custom index. 2) If you want to create a custom index across a property that does not currently have a single-property index, you must manually go through and reprocess you entire dataset. The automatic index building isn't automatic. On the other hand, there doesn't seem to be much benefit to the current approach. It does provide the ability to make rdbms-like partial indexes in custom indexes as well as single-property indexes, but it seems like any minor gain is going to be overshadowed by the fact that you're now maintaining quite a large number of additional indexes. Furthermore, the only way to access this partial index functionality is with the low-level API. At the higher level APIs, you can only flag a property as unindexed or not. If the user wants a property to be excluded from a custom index... they can easily remove it from the datastore-indexes.xml/yaml. So this default doesn't buy you anything and actually costs you a lot of flexibility and extra index overhead. Unless I'm missing something? Jeff -- You received this message because you are subscribed to the Google Groups "Google App Engine" 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?hl=en.
