EMAIL

samatha@gmail.com

Wednesday, May 12, 2010

Another approach to Full Text Search on App Engine

Great post on Full Text Search on AppEngine here : Google App Engine Blog: Making your app searchable using self merge-joins

Another easier approach I have used is to use the Full Text Search Capability of Amazon Simple DB.

Here are the steps:

1. Signup for a Free Account for Heroku or Stax.net (Try to be in AWS world)
2.Utilize Full Text search capability from Amazon Simple DB.

Here is the approach

Define and Object like SearchType along the following lines

public class SearchType implements Serializable{
private String id;
private String searchString;
private String referenceObjectKey ; // The reference ID in AppEngine for this Entity
private String clazzImpacted; // the Entity Class in AppEngine
}

For every string you want to make searchable push a JSON HTTP post to your Heroku or Stax server while doing the Data Load on AppEngine. Make sure you have a reference Entity ID from the AppEngine world along with the searchString.

I need FullText search mainly for auto-suggest type functionality. I let Ajax on browser query my AWS hosted Server for the searchStrings. Once I have a selection from the browser along with the associated AppEngine ID I can then perform the next steps in Appengine.

I use Amazing APIS for SDB calls