On Wed, Jul 16, 2008 at 6:29 AM, Keith Jenkins <[log in to unmask]> wrote:
> [...]
>
> So it's a bit of a hack just to get a left-anchored search. Querying
> for a particular keyword anywhere within a string value would be even
> more work. For small datasets, I guess you could iterate through
> every record. But for anything larger, you'd probably want to figure
> out a way to manually build an index within the Google datastore, or
> else keep the indexing outside GAE, and just use GAE for fetching
> specified records. Any ideas on how that might work?
>
> Keith
>
Hi Keith,
There is a Searchable Entity with GAE. Refer to the src for docs. It is
fairly straight forward, it takes the text of the properties, removes stop
words, creates a new list property that contains the words. An index on
this property allows fast retrieval. It is fairly limited, you don't want
list properties to get too large (this is what the devs told me at google
io). From the docs:
Don't expect too much. First, there's no ranking, which is a killer
drawback.
There's also no exact phrase match, substring match, boolean operators,
stemming, or other common full text search features. Finally, support for
stop
words (common words that are not indexed) is currently limited to English.
I have been playing with reverse indexes in GAE with some potential success
for search and faceted browse.
--Doug
|