You can perform an AND query on a ListProperty without a custom index.
I think it's called merge-join.
Have you tried InventoryItem.all().filter("keywords =",
keyword1).filter("keywords =", keyword2).filter(...) ?


Julian
http://www.memobuild.com


On Sep 24, 3:56 am, jorge <jorge.velazq...@gmail.com> wrote:
> It seems to me the only way to perform an AND query on a list property
> (StringListProperty, for example) to match EVERY item in a list is to
> define multiple indexes and use an equality filter (IN doesn't work in
> this case because it performs an OR operation).  For example, I'd like
> my users to be able to perform keyword searches where I return items
> that match all of their keywords.  This resulted in me having to do
> the following:
>
> - kind: InventoryItem
>   properties:
>   - name: in_stock
>   - name: keywords
>   - name: display_order
>
> - kind: InventoryItem
>   properties:
>   - name: in_stock
>   - name: keywords
>   - name: keywords
>   - name: display_order
>
> - kind: InventoryItem
>   properties:
>   - name: in_stock
>   - name: keywords
>   - name: keywords
>   - name: keywords
>   - name: display_order
>
> ...and so on.  This gets a little ugly, and I'm not sure if this is
> the recommended way to do this, but it's the only way I have been able
> to get to work.  Of course, I don't know up front how many keywords my
> users are going to use.  There is a generous index quota limit and
> from the documentation it seems I can do up to 30 filters?  I doubt
> anyone would use that many keywords in a search, I could probably
> safely stop at 10 indexes.
>
> Before I go down this path, I want to make sure there isn't another
> (better?) option available to me.
>
> TIA

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