You could expand the list to include the prefix combinations...

So ['dave','frost'], becomes
['d','da','dav','dave','f','fr','fro','fros','frost']

Then you can use '=' (and IN's) for your prefix & OR filter.

But watch out for the exploding indexes, you should be ok with 3-4
words (<50 items), a few hundred entries in a StringList works ok for
me.. any more and the puts() & filters get quite slow.



On Jan 18, 3:40 pm, "Barry Hunter" <barrybhun...@googlemail.com>
wrote:
> Alex, that shows for = which does look like it will work with the stringlist.
>
> However Dave is trying to use prefix matching, which looks a little
> messy with stringlists. Reading the documetation  again it notes the
> strange behaviour with ordering. This is probably related, as read
> about inequality filters actully implemented with a sorted index. (and
> the reason inequality filters can only work on one property)
>
> 2009/1/17 rabbi <alex.averb...@gmail.com>:
>
>
>
>
>
> > Hi Dave,
> > I found this link helpful
> >http://markmail.org/message/avigrrzi6ypyihvi
>
> > Alex
>
> > On Jan 17, 5:52 pm, Dave <ddev...@gmail.com> wrote:
> >> Hi,
>
> >> This is  probably (hopefully!) simple and lack of caffeine has me
> >> lost. I want to do a query such as:
>
> >> select * from profile where (nickname >= searchname AND nickname <
> >> searchname+'z') OR (fullname >= searchname AND fullname < searchname
> >> +'z')
>
> >> my model is:
>
> >> class profile (db.Model):
> >>     nickname = db.StringProperty()
> >>     fullname = db.StringProperty()
>
> >> searchname would be something like 'dav'
>
> >> and the query would pick up all records such that:
>
> >> record 1: nickname = 'david', fullname = 'gus'
> >> record 2: nickname = 'gus', fullname = 'dave'
> >> record 3: nickname = 'phil', fullname = 'gus david'    *** This may be
> >> asking for too much. Is it?
> >> ....
>
> >> Any help is greatly appreciated!
>
> >> thx,
>
> >> Dave
>
> --
> Barry
>
> -www.nearby.org.uk-www.geograph.org.uk-
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to