mirror of
				https://github.com/postgres/postgres.git
				synced 2025-11-03 09:13:20 +03:00 
			
		
		
		
	This isn't fully tested as yet, in particular I'm not sure that the "foo--unpackaged--1.0.sql" scripts are OK. But it's time to get some buildfarm cycles on it. sepgsql is not converted to an extension, mainly because it seems to require a very nonstandard installation process. Dimitri Fontaine and Tom Lane
		
			
				
	
	
		
			46 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			SQL
		
	
	
	
	
	
			
		
		
	
	
			46 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			SQL
		
	
	
	
	
	
CREATE EXTENSION dict_xsyn;
 | 
						|
 | 
						|
-- default configuration - match first word and return it among with all synonyms
 | 
						|
ALTER TEXT SEARCH DICTIONARY xsyn (RULES='xsyn_sample', KEEPORIG=true, MATCHORIG=true, KEEPSYNONYMS=true, MATCHSYNONYMS=false);
 | 
						|
 | 
						|
--lexize
 | 
						|
SELECT ts_lexize('xsyn', 'supernova');
 | 
						|
SELECT ts_lexize('xsyn', 'sn');
 | 
						|
SELECT ts_lexize('xsyn', 'grb');
 | 
						|
 | 
						|
-- the same, but return only synonyms
 | 
						|
ALTER TEXT SEARCH DICTIONARY xsyn (RULES='xsyn_sample', KEEPORIG=false, MATCHORIG=true, KEEPSYNONYMS=true, MATCHSYNONYMS=false);
 | 
						|
SELECT ts_lexize('xsyn', 'supernova');
 | 
						|
SELECT ts_lexize('xsyn', 'sn');
 | 
						|
SELECT ts_lexize('xsyn', 'grb');
 | 
						|
 | 
						|
-- match any word and return all words
 | 
						|
ALTER TEXT SEARCH DICTIONARY xsyn (RULES='xsyn_sample', KEEPORIG=true, MATCHORIG=true, KEEPSYNONYMS=true, MATCHSYNONYMS=true);
 | 
						|
SELECT ts_lexize('xsyn', 'supernova');
 | 
						|
SELECT ts_lexize('xsyn', 'sn');
 | 
						|
SELECT ts_lexize('xsyn', 'grb');
 | 
						|
 | 
						|
-- match any word and return all words except first one
 | 
						|
ALTER TEXT SEARCH DICTIONARY xsyn (RULES='xsyn_sample', KEEPORIG=false, MATCHORIG=true, KEEPSYNONYMS=true, MATCHSYNONYMS=true);
 | 
						|
SELECT ts_lexize('xsyn', 'supernova');
 | 
						|
SELECT ts_lexize('xsyn', 'sn');
 | 
						|
SELECT ts_lexize('xsyn', 'grb');
 | 
						|
 | 
						|
-- match any synonym but not first word, and return first word instead
 | 
						|
ALTER TEXT SEARCH DICTIONARY xsyn (RULES='xsyn_sample', KEEPORIG=true, MATCHORIG=false, KEEPSYNONYMS=false, MATCHSYNONYMS=true);
 | 
						|
SELECT ts_lexize('xsyn', 'supernova');
 | 
						|
SELECT ts_lexize('xsyn', 'sn');
 | 
						|
SELECT ts_lexize('xsyn', 'grb');
 | 
						|
 | 
						|
-- do not match or return anything
 | 
						|
ALTER TEXT SEARCH DICTIONARY xsyn (RULES='xsyn_sample', KEEPORIG=false, MATCHORIG=false, KEEPSYNONYMS=false, MATCHSYNONYMS=false);
 | 
						|
SELECT ts_lexize('xsyn', 'supernova');
 | 
						|
SELECT ts_lexize('xsyn', 'sn');
 | 
						|
SELECT ts_lexize('xsyn', 'grb');
 | 
						|
 | 
						|
-- match any word but return nothing
 | 
						|
ALTER TEXT SEARCH DICTIONARY xsyn (RULES='xsyn_sample', KEEPORIG=false, MATCHORIG=true, KEEPSYNONYMS=false, MATCHSYNONYMS=true);
 | 
						|
SELECT ts_lexize('xsyn', 'supernova');
 | 
						|
SELECT ts_lexize('xsyn', 'sn');
 | 
						|
SELECT ts_lexize('xsyn', 'grb');
 |