I was lucky to contribute an excellent solution: 
http://issues.apache.org/jira/browse/LUCENE-2230

Even 2nd edition of Lucene in Action advocates to use fuzzy search only in
exceptional cases.


Another solution would be 2-step indexing (it may work for many use cases),
but it is not "spellchecker"

1. Create a regular index
2. Create a dictionary of terms
3. For each term, find nearest terms (for instance, stick with distance=2)
4. Use "copyField" in SOLR, or smth similar to synonym dictionary; or, for
instance, generate specific Query Parser...
5. Of course, custom request handler
and etc.

It may work well (but only if query contains term from dictionary; it can't
work as a spellchecker)

Combination 2 algos can boost performance extremely...


Fuad Efendi
+1 416-993-2060
http://www.linkedin.com/in/liferay

Tokenizer Inc.
http://www.tokenizer.ca/
Data Mining, Vertical Search




Reply via email to