Similarity search in PostgreSQL using trigrams
pg_trgm
extension provides trigram matching capabilities for fast text similarity search and fuzzy string matching in PostgreSQL. A trigram is a group of three consecutive characters taken from a string. This extension is particularly useful for implementing features like fuzzy search, spell checking, and finding similar strings.
Your Nile database arrives with the pg_trgm
extension already enabled.
similarity(text, text)
: Returns similarity between two strings (0 to 1)show_trgm(text)
: Shows trigrams in a stringword_similarity(text, text)
: Returns word-based similaritystrict_word_similarity(text, text)
: Returns strict word-based similarityshow_limit()
: Shows current similarity threshold%
: Returns true if strings are similar (uses similarity threshold)<%
: Returns true if first string is less similar than second%>
: Returns true if first string is more similar than second<->
: Returns distance between strings (1 - similarity)<<->
: Returns word-based distance<->>
: Returns strict word-based distance