Is there some way to make a "sounds like" query against an appengine search index?
For example, I have the document:
my_document = search.Document(
doc_id = 'PA6-5000',
fields=[search.TextField(name='customer', value='John Jackson')])
index = search.Index(name="myIndex")
index.put(my_document)
I'd like to be able to do a search like:
index.search('Jon Jackson')
and see my_document in the search results.
Is there some way to do this with appengine full text search?
The full text search API does not support fuzzy matching. However, you could simulate fuzziness by performing multiple searches with increasing 'fuzzing' and use of boolean operators. For example, a search of "John Jackson" could be translated into:
etc. This requires a function which returns potential fuzzy matches (in this case Jon, Johnny for "John").
Edit: Use the tilde (~) operator. This is fuzzy match, and more powerful than the documentation suggests.