Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How can one perform full text search in Google App Engine?

It's a simple question, but I haven't found the answer anywhere. Thoughts and input appreciated.

I'm using Django, too, for what it's worth. :)

Cheers.

like image 214
Brian M. Hunt Avatar asked Aug 19 '09 01:08

Brian M. Hunt


4 Answers

The Search API is now available as experimental for Java and Python .

like image 61
systempuntoout Avatar answered Oct 07 '22 16:10

systempuntoout


With Java GAE, you could use Compass, but that won't help with Django. For Python, Bill Katz offers one solution -- open source -- and these guys offer a Django-specific approach which, however, is free only for non-commercial applications (i.e. if your app makes money they want you to pay for their full-text search). I have no real-world experience with either of these solutions so I can't really give well-grounded recommendations, but from what one can see with just a little playing around they seem quite useful.

like image 41
Alex Martelli Avatar answered Oct 07 '22 17:10

Alex Martelli


An overview of the Python App Engine searches that I am aware of:

Google did add a cut down search using SearchableModel although that has limitations (5000 indexed word limit, String property only not Text):

  • http://groups.google.com/group/google-appengine/browse_thread/thread/f64eacbd31629668/8dac5499bd58a6b7?lnk=gst&q=searchablemodel

Or as another posters have pointed out there are these options:

The Quick and simple text search:

  • http://www.billkatz.com/2009/6/Simple-Full-Text-Search-for-App-Engine

This product which has a fairly comprehensive free version and a more extensive commercial version:

  • http://gae-full-text-search.appspot.com/customers/download/

I've read that Google do have a project to bring full text search to App Engine although this is not scheduled to happen any time soon


I'd really like to see a comparison of the various searching frameworks and see how they stack up to each other. Does anyone know of any report like this?


Edit: Google Search API now available (although still experimental)

like image 5
andy boot Avatar answered Oct 07 '22 16:10

andy boot


For now, the real answer is that there is no real full-text search on Google App Engine. The solutions provided by the other answers here are fine for toy data sets, but do not scale to anything more than O(10000) documents or so. Google will have to provide search as an infrastructural feature of GAE. See the feature request for (mostly superfluous) discussion.

like image 3
Jonathan Feinberg Avatar answered Oct 07 '22 17:10

Jonathan Feinberg