]> git.openstreetmap.org Git - osqa.git/blob - forum_modules/mysqlfulltext/fts_install.sql
Several improvements in full text search operations.
[osqa.git] / forum_modules / mysqlfulltext / fts_install.sql
1 CREATE TABLE forum_mysqlftsindex (
2         id int NOT NULL AUTO_INCREMENT,
3         node_id int NOT NULL UNIQUE,
4         body longtext NOT NULL,
5         title varchar(300),
6         tagnames varchar(255),
7         PRIMARY KEY (id),
8         FOREIGN KEY (node_id) REFERENCES forum_node (id)   ON UPDATE CASCADE ON DELETE CASCADE,
9         FULLTEXT (body, title, tagnames)
10 ) ENGINE=`MyISAM`;
11
12 ALTER TABLE forum_mysqlftsindex CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;
13
14 delimiter |
15
16 CREATE TRIGGER fts_on_insert AFTER INSERT ON forum_node
17   FOR EACH ROW
18   BEGIN
19     INSERT INTO forum_mysqlftsindex (node_id, title, body, tagnames) VALUES (NEW.id, UPPER(NEW.title), UPPER(NEW.body), UPPER(NEW.tagnames));
20   END;
21 |
22
23 delimiter |
24
25 CREATE TRIGGER fts_on_update AFTER UPDATE ON forum_node
26   FOR EACH ROW
27   BEGIN
28     UPDATE forum_mysqlftsindex SET title = UPPER(NEW.title), body = UPPER(NEW.body), tagnames = UPPER(NEW.tagnames) WHERE node_id = NEW.id;
29   END;
30
31 |
32
33 INSERT INTO forum_mysqlftsindex (node_id, title, body, tagnames) SELECT id, UPPER(title), UPPER(body), UPPER(tagnames) FROM forum_node;