tsdicts.out
来自「postgresql8.3.4源码,开源数据库」· OUT 代码 · 共 319 行
OUT
319 行
--Test text search dictionaries and configurations-- Test ISpell dictionary with ispell affix fileCREATE TEXT SEARCH DICTIONARY ispell ( Template=ispell, DictFile=ispell_sample, AffFile=ispell_sample);SELECT ts_lexize('ispell', 'skies'); ts_lexize ----------- {sky}(1 row)SELECT ts_lexize('ispell', 'bookings'); ts_lexize ---------------- {booking,book}(1 row)SELECT ts_lexize('ispell', 'booking'); ts_lexize ---------------- {booking,book}(1 row)SELECT ts_lexize('ispell', 'foot'); ts_lexize ----------- {foot}(1 row)SELECT ts_lexize('ispell', 'foots'); ts_lexize ----------- {foot}(1 row)SELECT ts_lexize('ispell', 'rebookings'); ts_lexize ---------------- {booking,book}(1 row)SELECT ts_lexize('ispell', 'rebooking'); ts_lexize ---------------- {booking,book}(1 row)SELECT ts_lexize('ispell', 'rebook'); ts_lexize ----------- (1 row)SELECT ts_lexize('ispell', 'unbookings'); ts_lexize ----------- {book}(1 row)SELECT ts_lexize('ispell', 'unbooking'); ts_lexize ----------- {book}(1 row)SELECT ts_lexize('ispell', 'unbook'); ts_lexize ----------- {book}(1 row)SELECT ts_lexize('ispell', 'footklubber'); ts_lexize ---------------- {foot,klubber}(1 row)SELECT ts_lexize('ispell', 'footballklubber'); ts_lexize ------------------------------------------------------ {footballklubber,foot,ball,klubber,football,klubber}(1 row)SELECT ts_lexize('ispell', 'ballyklubber'); ts_lexize ---------------- {ball,klubber}(1 row)SELECT ts_lexize('ispell', 'footballyklubber'); ts_lexize --------------------- {foot,ball,klubber}(1 row)-- Test ISpell dictionary with hunspell affix fileCREATE TEXT SEARCH DICTIONARY hunspell ( Template=ispell, DictFile=ispell_sample, AffFile=hunspell_sample);SELECT ts_lexize('hunspell', 'skies'); ts_lexize ----------- {sky}(1 row)SELECT ts_lexize('hunspell', 'bookings'); ts_lexize ---------------- {booking,book}(1 row)SELECT ts_lexize('hunspell', 'booking'); ts_lexize ---------------- {booking,book}(1 row)SELECT ts_lexize('hunspell', 'foot'); ts_lexize ----------- {foot}(1 row)SELECT ts_lexize('hunspell', 'foots'); ts_lexize ----------- {foot}(1 row)SELECT ts_lexize('hunspell', 'rebookings'); ts_lexize ---------------- {booking,book}(1 row)SELECT ts_lexize('hunspell', 'rebooking'); ts_lexize ---------------- {booking,book}(1 row)SELECT ts_lexize('hunspell', 'rebook'); ts_lexize ----------- (1 row)SELECT ts_lexize('hunspell', 'unbookings'); ts_lexize ----------- {book}(1 row)SELECT ts_lexize('hunspell', 'unbooking'); ts_lexize ----------- {book}(1 row)SELECT ts_lexize('hunspell', 'unbook'); ts_lexize ----------- {book}(1 row)SELECT ts_lexize('hunspell', 'footklubber'); ts_lexize ---------------- {foot,klubber}(1 row)SELECT ts_lexize('hunspell', 'footballklubber'); ts_lexize ------------------------------------------------------ {footballklubber,foot,ball,klubber,football,klubber}(1 row)SELECT ts_lexize('hunspell', 'ballyklubber'); ts_lexize ---------------- {ball,klubber}(1 row)SELECT ts_lexize('hunspell', 'footballyklubber'); ts_lexize --------------------- {foot,ball,klubber}(1 row)-- Synonim dictionaryCREATE TEXT SEARCH DICTIONARY synonym ( Template=synonym, Synonyms=synonym_sample);SELECT ts_lexize('synonym', 'PoStGrEs'); ts_lexize ----------- {pgsql}(1 row)SELECT ts_lexize('synonym', 'Gogle'); ts_lexize ----------- {googl}(1 row)-- Create and simple test thesaurus dictionary-- More tests in configuration checks because ts_lexize()-- cannot pass more than one word to thesaurus.CREATE TEXT SEARCH DICTIONARY thesaurus ( Template=thesaurus, DictFile=thesaurus_sample, Dictionary=english_stem);SELECT ts_lexize('thesaurus', 'one'); ts_lexize ----------- {1}(1 row)-- Test ispell dictionary in configurationCREATE TEXT SEARCH CONFIGURATION ispell_tst ( COPY=english);ALTER TEXT SEARCH CONFIGURATION ispell_tst ALTER MAPPING FOR word, numword, asciiword, hword, numhword, asciihword, hword_part, hword_numpart, hword_asciipart WITH ispell, english_stem;SELECT to_tsvector('ispell_tst', 'Booking the skies after rebookings for footballklubber from a foot'); to_tsvector ---------------------------------------------------------------------------------------------------- 'sky':3 'ball':7 'book':1,5 'foot':7,10 'booking':1,5 'klubber':7 'football':7 'footballklubber':7(1 row)SELECT to_tsquery('ispell_tst', 'footballklubber'); to_tsquery ------------------------------------------------------------------------------ ( 'footballklubber' | 'foot' & 'ball' & 'klubber' ) | 'football' & 'klubber'(1 row)SELECT to_tsquery('ispell_tst', 'footballyklubber:b & rebookings:A & sky'); to_tsquery ------------------------------------------------------------------------ 'foot':B & 'ball':B & 'klubber':B & ( 'booking':A | 'book':A ) & 'sky'(1 row)-- Test ispell dictionary with hunspell affix in configurationCREATE TEXT SEARCH CONFIGURATION hunspell_tst ( COPY=ispell_tst);ALTER TEXT SEARCH CONFIGURATION hunspell_tst ALTER MAPPING REPLACE ispell WITH hunspell;SELECT to_tsvector('hunspell_tst', 'Booking the skies after rebookings for footballklubber from a foot'); to_tsvector ---------------------------------------------------------------------------------------------------- 'sky':3 'ball':7 'book':1,5 'foot':7,10 'booking':1,5 'klubber':7 'football':7 'footballklubber':7(1 row)SELECT to_tsquery('hunspell_tst', 'footballklubber'); to_tsquery ------------------------------------------------------------------------------ ( 'footballklubber' | 'foot' & 'ball' & 'klubber' ) | 'football' & 'klubber'(1 row)SELECT to_tsquery('hunspell_tst', 'footballyklubber:b & rebookings:A & sky'); to_tsquery ------------------------------------------------------------------------ 'foot':B & 'ball':B & 'klubber':B & ( 'booking':A | 'book':A ) & 'sky'(1 row)-- Test synonym dictionary in configurationCREATE TEXT SEARCH CONFIGURATION synonym_tst ( COPY=english);ALTER TEXT SEARCH CONFIGURATION synonym_tst ALTER MAPPING FOR asciiword, hword_asciipart, asciihword WITH synonym, english_stem;SELECT to_tsvector('synonym_tst', 'Postgresql is often called as postgres or pgsql and pronounced as postgre'); to_tsvector --------------------------------------------------- 'call':4 'often':3 'pgsql':1,6,8,12 'pronounc':10(1 row)SELECT to_tsvector('synonym_tst', 'Most common mistake is to write Gogle instead of Google'); to_tsvector ---------------------------------------------------------- 'googl':7,10 'write':6 'common':2 'mistak':3 'instead':8(1 row)-- test thesaurus in configuration-- see thesaurus_sample.ths to understand 'odd' resulting tsvectorCREATE TEXT SEARCH CONFIGURATION thesaurus_tst ( COPY=synonym_tst);ALTER TEXT SEARCH CONFIGURATION thesaurus_tst ALTER MAPPING FOR asciiword, hword_asciipart, asciihword WITH synonym, thesaurus, english_stem;SELECT to_tsvector('thesaurus_tst', 'one postgres one two one two three one'); to_tsvector ---------------------------------- '1':1,5 '12':3 '123':4 'pgsql':2(1 row)SELECT to_tsvector('thesaurus_tst', 'Supernovae star is very new star and usually called supernovae (abbrevation SN)'); to_tsvector ------------------------------------------------------------- 'sn':1,9,11 'new':4 'call':8 'star':5 'usual':7 'abbrev':10(1 row)SELECT to_tsvector('thesaurus_tst', 'Booking tickets is looking like a booking a tickets'); to_tsvector ------------------------------------------------------- 'card':3,10 'like':6 'look':5 'invit':2,9 'order':1,8(1 row)
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?