I am sorry but it does not work. With 10000 objects and searching for
2 tags we got following error.

com.google.appengine.api.datastore.DatastoreNeedIndexException: The
built-in indices are not efficient enough for this query and your
data. Please add a composite index for this query..  Unable to
determine what index is missing.  This is probably a bug in the App
Engine SDK.

Solution I have proposed is not effecient enough when inserting data.
It may take ~5 seconds per object.

May be we have to host tag search server outside of google app engine.

:(

or decrease number of tags to minimum

On Feb 12, 2:22 pm, Max <max.seven....@gmail.com> wrote:
> Thank You very much it works!
>
> correct code is:-
>                                 query.setFilter("tags == 'hello' &&
> tags == 'world'");
>
> I hope it will work with thousands and millions of records as well. I
> have not tested with large number of data yet.
>
> Thanks again!
>
> On Feb 12, 2:46 am, John Patterson <jdpatter...@gmail.com> wrote:
>
>
>
> > On 12 Feb 2010, at 06:53, Max wrote:
>
> > > I have not coded much in native API but I think it will search first
> > > for hello and then for world then mix results.
>
> > No, it does a "merge join" - only returning entities that match all  
> > filters - not separate queries like the JDO contains() creates.

-- 
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-j...@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