Hi Nick,

>
> > Just to make sure I understand this right (well, rather - I don't think I
> > get it 100%):
> >
> > By the inverted index entity you mean a new entity kind where I store
> word
> > lists and then reference this entity from my 'user profile' entity?
>
> Yes. The list of words used for fulltext indexing is called an 'inverted
> index'.
>
> >
> > This will allow me to create a query that fetches a list of entities for
> > which I can find the referring 'user profile' entities.
> >
> > But how can I combine that result with other queries?
>
> You need a (fairly simple) query planner, that can decide to either
> perform a text or bounding box query, then filter (in user code) the
> results for those that match the other filter. You decide which to
> pick based on which you think will have the fewest results (for
> example, a query for a small area will take preference over a search
> for the string 'friendly', whilst a search for the string 'solipsist'
> should probably be used instead of a query for all but the tiniest
> areas).


Ah, I see! Thanks, that's just great!
I must say that app engine programming is by far the most fun I've had in
programming for a long time - the possibilities and constraints really have
to make you think differently when solving problems!


>
> > The same goes for the hybrid example. I see how this can be used to give
> me
> > a subset, but can that subset be queried any further?
>
> In that case, you can (hopefully) assume that the number of results
> for your keywords in your geographical area is small enough that you
> can filter them manually, without the need for explicit query
> planning. You can also use 2 or more levels of geographical nesting -
> just fewer than your main index, to keep the index entry count under
> control.
>

Great! Sounds like both solutions would be interesting to try out.


I have a related question about a different way of solving part of this
problem:

Let's imagine that I have an entity that just contains a single word. Then I
have a 'many-to-many' entity that references both the word-entity and my
existing 'user profile' entity.

Is the query for a word, followed by a subsequent .manytomany_set reference
query expensive to do, or is that completely feasible?

What if I extended the many-to-many entity with (say) one geobox string? I
understand that the _set operator returns me a query. Then I could run a
filter on that query before fetching.

My question is: are there any restrictions/penalties for creating the *_set
queries?


Thanks for your help!
Sincerely,
/morten

--~--~---------~--~----~------------~-------~--~----~
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