mirror of
https://github.com/MariaDB/server.git
synced 2025-05-10 02:01:19 +03:00
66 lines
2.2 KiB
Plaintext
66 lines
2.2 KiB
Plaintext
#
|
|
# Test of fulltext index
|
|
#
|
|
|
|
drop table if exists t1,t2;
|
|
|
|
CREATE TABLE t1 (a VARCHAR(200), b TEXT, FULLTEXT (a,b));
|
|
INSERT INTO t1 VALUES('MySQL has now support', 'for full-text search'),('Full-text indexes', 'are called collections'),('Only MyISAM tables','support collections'),('Function MATCH ... AGAINST()','is used to do a search'),('Full-text search in MySQL', 'implements vector space model');
|
|
select * from t1 where MATCH(a,b) AGAINST ("collections");
|
|
select * from t1 where MATCH(a,b) AGAINST ("indexes");
|
|
select * from t1 where MATCH(a,b) AGAINST ("indexes collections");
|
|
delete from t1 where a like "MySQL%";
|
|
drop table t1;
|
|
|
|
#
|
|
# Check bug reported by Matthias Urlichs
|
|
#
|
|
|
|
CREATE TABLE t1 (
|
|
id int(11),
|
|
ticket int(11),
|
|
KEY ti (id),
|
|
KEY tit (ticket)
|
|
)/*! type=MyISAM */;
|
|
INSERT INTO t1 VALUES (2,3),(1,2);
|
|
|
|
CREATE TABLE t2 (
|
|
ticket int(11),
|
|
inhalt text,
|
|
KEY tig (ticket),
|
|
fulltext index tix (inhalt(1)) /* this line modified by hand */
|
|
)/*! type=MyISAM */;
|
|
INSERT INTO t2 VALUES (1,'foo'),(2,'bar'),(3,'foobar');
|
|
|
|
select t1.id FROM t2 as ttxt,t1,t1 as ticket2 WHERE ticket2.id = ttxt.ticket AND t1.id = ticket2.ticket and match(ttxt.inhalt) against ('foobar');
|
|
|
|
# In the following query MySQL didn't use the fulltext index
|
|
select t1.id FROM t2 as ttxt,t1 INNER JOIN t1 as ticket2 ON ticket2.id = ttxt.ticket WHERE t1.id = ticket2.ticket and match(ttxt.inhalt) against ('foobar');
|
|
|
|
INSERT INTO t1 VALUES (3,3);
|
|
select t1.id FROM t2 as ttxt,t1 INNER JOIN t1 as ticket2 ON ticket2.id = ttxt.ticket WHERE t1.id = ticket2.ticket and match(ttxt.inhalt) against ('foobar');
|
|
|
|
# Check that we get 'fulltext' index in SHOW CREATE
|
|
|
|
show keys from t2;
|
|
show create table t2;
|
|
drop table t1,t2;
|
|
|
|
# check for bug reported by Stephan Skusa
|
|
|
|
drop table if exists fulltextTEST;
|
|
CREATE TABLE fulltextTEST (
|
|
field1 varchar(40) NOT NULL,
|
|
field2 varchar(20) NOT NULL,
|
|
field3 varchar(40) NOT NULL,
|
|
PRIMARY KEY (field1),
|
|
FULLTEXT idx_fulltext (field1, field2, field3)
|
|
);
|
|
|
|
INSERT INTO fulltextTEST VALUES ( 'test1', 'test1.1', 'test1.1.1');
|
|
INSERT INTO fulltextTEST VALUES ( 'test2', 'test2.1', 'test2.1.1');
|
|
select *
|
|
from fulltextTEST
|
|
where MATCH (field1,field2,field3) AGAINST (NULL);
|
|
drop table fulltextTEST;
|