Levenshtein distance is a string metric for measuring the difference between two sequences. Informally, the Levenshtein distance between two words is the minimum number of single-character edits (i.e. insertions, deletions or substitutions) required to change one word into the other.
Soundex is a phonetic algorithm for indexing names by sound, as pronounced in English. The goal is for homophones to be encoded to the same representation so that they can be matched despite minor differences in spelling.
Metaphone is a phonetic algorithm... It fundamentally improves on the Soundex algorithm... which does a better job of matching words and names which sound similar.
Trigrams are a special case of the n-gram, where n is 3. They are often used in natural language processing for doing statistical analysis of texts.
- https://blog.pivotal.io/labs/labs/pg-search-how-i-learned-to-stop-worrying-and-love-postgresql-full-text-search
- https://github.com/Casecommons/pg_search
- Alternaives
- https://github.com/Casecommons/pg_search#searching-using-different-search-features
- http://www.postgresql.org/docs/current/static/textsearch-intro.html
- https://blog.engineyard.com/2012/getting-more-out-of-postgres-9-1-on-engine-yard
- https://www.viget.com/articles/alternatives-to-sphinx-fuzzy-string-matching-in-postgresql
- http://blog.endpoint.com/2010/08/creativity-with-fuzzy-string-search.html
- https://www.rdegges.com/2013/easy-fuzzy-text-searching-with-postgresql/