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.

Reply via email to