]> CyberLeo.Net >> Repos - SourceForge/phpwiki.git/blob - schemas/psql-tsearch2.sql
add to 1.3.13 upgrade
[SourceForge/phpwiki.git] / schemas / psql-tsearch2.sql
1 -- $Id: psql-tsearch2.sql,v 1.3 2007-02-17 14:15:37 rurban Exp $
2 -- use the tsearch2 fulltextsearch extension: (recommended)
3 --   7.4, 8.0, 8.1
4 -- $ psql phpwiki < /usr/share/postgresql/contrib/tsearch2.sql 
5
6 \set QUIET
7 \set prefix     ''
8 \set httpd_user 'phpwiki'
9
10 --example of ISpell dictionary:
11 -- UPDATE pg_ts_dict SET dict_initoption='DictFile="/usr/local/share/ispell/russian.dict" ,AffFile ="/usr/local/share/ispell/russian.aff", StopFile="/usr/local/share/ispell/russian.stop"' WHERE dict_name='ispell_template';
12 --example of synonym dict:
13 -- UPDATE pg_ts_dict SET dict_initoption='/usr/local/share/ispell/english.syn' WHERE dict_id=5; 
14
15 -- this might be needed:
16 -- see http://www.sai.msu.su/~megera/oddmuse/index.cgi/Tsearch_V2_Notes
17 -- update pg_ts_cfg set locale='en_US.UTF-8' where ts_name='default';
18
19 --================================================================
20 --
21 -- Don't modify below this point unless you know what you are doing.
22 --
23 --================================================================
24
25 \set qprefix '\'' :prefix '\''
26 \set qhttp_user '\'' :httpd_user '\''
27 \echo '       prefix = ' :qprefix
28 \echo '   httpd_user = ' :qhttp_user
29
30 \set version_tbl        :prefix 'version'
31
32 GRANT SELECT ON pg_ts_dict, pg_ts_parser, pg_ts_cfg, pg_ts_cfgmap TO :httpd_user;
33 ALTER TABLE :version_tbl ADD COLUMN idxFTI tsvector;
34 UPDATE :version_tbl SET idxFTI=to_tsvector('default', content);
35 VACUUM FULL ANALYZE;
36 CREATE INDEX idxFTI_idx ON :version_tbl USING gist(idxFTI);
37 VACUUM FULL ANALYZE;
38 CREATE TRIGGER tsvectorupdate BEFORE UPDATE OR INSERT ON :version_tbl
39    FOR EACH ROW EXECUTE PROCEDURE tsearch2(idxFTI, content);