/* -- Die Extensions müssen als root installiert werden. CREATE EXTENSION dict_phonet; CREATE EXTENSION phonet_parser; Diese Extensions stammen von Copyright (c) 2011-2018: Wolfgang Kowarschick, Albrecht-Dürer-Str. 8d, 86343 Königsbrunn und Hochschule für angewandte Wissenschaften Augsburg, An der Hochschule 1, 86161 Augsburg Sie steht unter der GNU Lesser General Public License (LGPL): http://www.gnu.org/licenses/lgpl-3.0.en.html Die Extensions basieren auf "phonet.c", "Program for phonetic string conversion" von Joerg MICHAEL: Copyright (c) 1999-2007: Joerg MICHAEL, Adalbert-Stifter-Str. 11, 30655 Hannover, Germany und (Version 1.0) 1999: Heise Verlag, Helstorfer Str. 7, 30625 Hannover, Germany phonet.c steht ebenfalls unter der GNU Lesser General Public License (LGPL). */ DROP TEXT SEARCH DICTIONARY IF EXISTS phonet1 CASCADE; CREATE TEXT SEARCH DICTIONARY phonet1 ( TEMPLATE = phonet_template, ENCODING = 'utf8', -- 'utf8', 'latin1' LANGUAGE = 'german', -- 'german', 'no language' RULES = '1', -- '1', '2' MAXLEN = '100' -- '100', '' ); CREATE TEXT SEARCH CONFIGURATION phonet1 ( PARSER = phonet_parser ); COMMENT ON TEXT SEARCH CONFIGURATION phonet1 IS 'fault-tolerant phonetic fullext search for german language (based on phonet.c rule set 1 of Joerg Michael)'; ALTER TEXT SEARCH CONFIGURATION phonet1 ALTER MAPPING FOR word WITH phonet1; DROP TEXT SEARCH DICTIONARY IF EXISTS phonet2 CASCADE; CREATE TEXT SEARCH DICTIONARY phonet2 ( TEMPLATE = phonet_template, ENCODING = 'utf8', -- 'utf8', 'latin1' LANGUAGE = 'german', -- 'german', 'no language' RULES = '2', -- '1', '2' MAXLEN = '100' -- '100', '' ); CREATE TEXT SEARCH CONFIGURATION phonet2 ( PARSER = phonet_parser ); COMMENT ON TEXT SEARCH CONFIGURATION phonet2 IS 'fault-tolerant phonetic fullext search for german language (based on phonet.c rule set 2 of Joerg Michael)'; ALTER TEXT SEARCH CONFIGURATION phonet2 ALTER MAPPING FOR word -- Der phonet-Parser ekennt nur Wörter. WITH phonet2; DROP TEXT SEARCH DICTIONARY IF EXISTS phonet1_filter CASCADE; CREATE TEXT SEARCH DICTIONARY phonet1_filter ( TEMPLATE = phonet_template, ENCODING = 'utf8', -- 'utf8', 'latin1' LANGUAGE = 'german', -- 'german', 'no language' RULES = '1', -- '1', '2' MAXLEN = '100', -- '100', '' TSL_FILTER = 'true' -- 'true', 'false' ); CREATE TEXT SEARCH CONFIGURATION phonet1_filter ( PARSER = phonet_parser ); COMMENT ON TEXT SEARCH CONFIGURATION phonet1_filter IS 'fault-tolerant phonetic fullext search for german language supporting filtering (based on phonet.c rules 1 of Joerg Michael)'; ALTER TEXT SEARCH CONFIGURATION phonet1_filter ALTER MAPPING FOR word WITH phonet1_filter; DROP TEXT SEARCH DICTIONARY IF EXISTS phonet2_filter CASCADE; CREATE TEXT SEARCH DICTIONARY phonet2_filter ( TEMPLATE = phonet_template, ENCODING = 'utf8', -- 'utf8', 'latin1' LANGUAGE = 'german', -- 'german', 'no language' RULES = '2', -- '1', '2' MAXLEN = '100', -- '100', '' TSL_FILTER = 'true' -- 'true', 'false' ); CREATE TEXT SEARCH CONFIGURATION phonet2_filter ( PARSER = phonet_parser ); COMMENT ON TEXT SEARCH CONFIGURATION phonet2_filter IS 'fault-tolerant fullext search for german language supporting filtering (based on phonet.c rules 2 of Joerg Michael)'; ALTER TEXT SEARCH CONFIGURATION phonet2_filter ALTER MAPPING FOR word WITH phonet2_filter; DROP TEXT SEARCH DICTIONARY IF EXISTS simple2 CASCADE; CREATE TEXT SEARCH DICTIONARY simple2 ( TEMPLATE = phonet_template, ENCODING = 'utf8', -- 'utf8', 'latin1' LANGUAGE = 'no language', -- 'german', 'no language' RULES = '1', -- '1', '2' MAXLEN = '100' -- '100', '' ); CREATE TEXT SEARCH CONFIGURATION simple2 ( PARSER = phonet_parser ); COMMENT ON TEXT SEARCH CONFIGURATION simple2 IS 'simple fullext search obeying umlauts (based on phonet.c "no languagee rule set 1 of Joerg Michael)'; ALTER TEXT SEARCH CONFIGURATION simple2 ALTER MAPPING FOR word WITH simple2; DROP TEXT SEARCH DICTIONARY IF EXISTS simple_german CASCADE; CREATE TEXT SEARCH DICTIONARY simple_german ( TEMPLATE = phonet_template, ENCODING = 'utf8', -- 'utf8', 'latin1' LANGUAGE = 'no language', -- 'german', 'no language' RULES = '2', -- '1', '2' MAXLEN = '100' -- '100', '' ); CREATE TEXT SEARCH CONFIGURATION simple_german ( PARSER = phonet_parser ); COMMENT ON TEXT SEARCH CONFIGURATION simple_german IS 'simple fullext search obeying umlauts and german digraphs (based on phonet.c "no languagee rule set 2 of Joerg Michael and Wolfgang Kowarschick)'; ALTER TEXT SEARCH CONFIGURATION simple_german ALTER MAPPING FOR word WITH simple_german; DROP TEXT SEARCH DICTIONARY IF EXISTS simple2_filter CASCADE; CREATE TEXT SEARCH DICTIONARY simple2_filter ( TEMPLATE = phonet_template, ENCODING = 'utf8', -- 'utf8', 'latin1' LANGUAGE = 'no language', -- 'german', 'no language' RULES = '1', -- '1', '2' MAXLEN = '100', -- '100', '' TSL_FILTER = 'true' -- 'true', 'false' ); CREATE TEXT SEARCH CONFIGURATION simple2_filter ( PARSER = phonet_parser ); COMMENT ON TEXT SEARCH CONFIGURATION simple2_filter IS 'simple fullext search obeying umlauts supporting filtering (based on phonet.c "no languagee rule set of Joerg Michael)'; ALTER TEXT SEARCH CONFIGURATION simple2_filter ALTER MAPPING FOR word WITH simple2_filter; DROP TEXT SEARCH DICTIONARY IF EXISTS simple_german_filter CASCADE; CREATE TEXT SEARCH DICTIONARY simple_german_filter ( TEMPLATE = phonet_template, ENCODING = 'utf8', -- 'utf8', 'latin1' LANGUAGE = 'no language', -- 'german', 'no language' RULES = '2', -- '1', '2' MAXLEN = '100', -- '100', '' TSL_FILTER = 'true' -- 'true', 'false' ); CREATE TEXT SEARCH CONFIGURATION simple_german_filter ( PARSER = phonet_parser ); COMMENT ON TEXT SEARCH CONFIGURATION simple_german_filter IS 'simple fullext search obeying umlauts and german digraphs supporting filtering (based on phonet.c "no languagee rule set 2 of Joerg Michael and Wolfgang Kowarschick)'; ALTER TEXT SEARCH CONFIGURATION simple_german_filter ALTER MAPPING FOR word WITH simple_german_filter; CREATE TEXT SEARCH CONFIGURATION simple3 ( PARSER = pg_catalog.default ); COMMENT ON TEXT SEARCH CONFIGURATION simple3 IS 'simple fullext search obeying umlauts supporting filtering and end truncation'; ALTER TEXT SEARCH CONFIGURATION simple3 ALTER MAPPING FOR asciiword, asciihword, hword_asciipart, word, hword, hword_part, numword, numhword, hword_numpart, email, protocol, url, host, url_path, file WITH simple2_filter, simple; CREATE TEXT SEARCH CONFIGURATION simple2_german ( PARSER = pg_catalog.default ); COMMENT ON TEXT SEARCH CONFIGURATION simple2_german IS 'simple fullext search obeying umlauts supporting filtering and end truncation'; ALTER TEXT SEARCH CONFIGURATION simple2_german ALTER MAPPING FOR asciiword, asciihword, hword_asciipart, word, hword, hword_part, numword, numhword, hword_numpart, email, protocol, url, host, url_path, file WITH simple_german_filter, simple;