mirror of
https://github.com/postgres/postgres.git
synced 2025-07-27 12:41:57 +03:00
trgm - Trigram matching for PostgreSQL
-------------------------------------- The pg_trgm contrib module provides functions and index classes for determining the similarity of text based on trigram matching.
This commit is contained in:
30
contrib/pg_trgm/sql/pg_trgm.sql
Normal file
30
contrib/pg_trgm/sql/pg_trgm.sql
Normal file
@ -0,0 +1,30 @@
|
||||
\set ECHO none
|
||||
\i pg_trgm.sql
|
||||
\set ECHO all
|
||||
|
||||
select show_trgm('');
|
||||
select show_trgm('(*&^$@%@');
|
||||
select show_trgm('a b c');
|
||||
select show_trgm(' a b c ');
|
||||
select show_trgm('aA bB cC');
|
||||
select show_trgm(' aA bB cC ');
|
||||
select show_trgm('a b C0*%^');
|
||||
|
||||
select similarity('wow','WOWa ');
|
||||
select similarity('wow',' WOW ');
|
||||
|
||||
CREATE TABLE test_trgm(t text);
|
||||
|
||||
\copy test_trgm from 'data/trgm.data
|
||||
|
||||
select t,similarity(t,'qwertyu0988') as sml from test_trgm where t % 'qwertyu0988' order by sml desc, t;
|
||||
select t,similarity(t,'gwertyu0988') as sml from test_trgm where t % 'gwertyu0988' order by sml desc, t;
|
||||
select t,similarity(t,'gwertyu1988') as sml from test_trgm where t % 'gwertyu1988' order by sml desc, t;
|
||||
|
||||
create index trgm_idx on test_trgm using gist (t gist_trgm_ops);
|
||||
set enable_seqscan=off;
|
||||
|
||||
select t,similarity(t,'qwertyu0988') as sml from test_trgm where t % 'qwertyu0988' order by sml desc, t;
|
||||
select t,similarity(t,'gwertyu0988') as sml from test_trgm where t % 'gwertyu0988' order by sml desc, t;
|
||||
select t,similarity(t,'gwertyu1988') as sml from test_trgm where t % 'gwertyu1988' order by sml desc, t;
|
||||
|
Reference in New Issue
Block a user