diff options
-rw-r--r-- | myisam/ft_boolean_search.c | 1 | ||||
-rw-r--r-- | myisam/ft_parser.c | 2 | ||||
-rw-r--r-- | mysql-test/r/fulltext.result | 10 | ||||
-rw-r--r-- | mysql-test/t/fulltext.test | 3 |
4 files changed, 15 insertions, 1 deletions
diff --git a/myisam/ft_boolean_search.c b/myisam/ft_boolean_search.c index a026a8613dc..f78d2e3c05f 100644 --- a/myisam/ft_boolean_search.c +++ b/myisam/ft_boolean_search.c @@ -166,6 +166,7 @@ void _ftb_parse_query(FTB *ftb, byte **start, byte *end, if ((ftbe->quot=param.quot)) ftb->with_scan|=2; if (param.yesno > 0) up->ythresh++; _ftb_parse_query(ftb, start, end, ftbe, depth+1); + param.quot=0; break; case 3: /* right bracket */ if (up->quot) up->qend=param.quot; diff --git a/myisam/ft_parser.c b/myisam/ft_parser.c index 39dcf4b458b..944b9efb35a 100644 --- a/myisam/ft_parser.c +++ b/myisam/ft_parser.c @@ -134,7 +134,7 @@ byte ft_get_word(byte **start, byte *end, FT_WORD *word, FTB_PARAM *param) { if (true_word_char(*doc)) break; if (*doc == FTB_RQUOT && param->quot) { - param->quot=doc-1; + param->quot=doc; *start=doc+1; return 3; /* FTB_RBR */ } diff --git a/mysql-test/r/fulltext.result b/mysql-test/r/fulltext.result index 5ee90c38585..7344997bd1b 100644 --- a/mysql-test/r/fulltext.result +++ b/mysql-test/r/fulltext.result @@ -70,6 +70,16 @@ Full-text search in MySQL implements vector space model 0 select * from t1 where MATCH a,b AGAINST ('"Now sUPPort"' IN BOOLEAN MODE); a b MySQL has now support for full-text search +select * from t1 where MATCH a,b AGAINST ('"text search" "now support"' IN BOOLEAN MODE); +a b +MySQL has now support for full-text search +Full-text search in MySQL implements vector space model +select * from t1 where MATCH a,b AGAINST ('"text search" -"now support"' IN BOOLEAN MODE); +a b +Full-text search in MySQL implements vector space model +select * from t1 where MATCH a,b AGAINST ('"text search" +"now support"' IN BOOLEAN MODE); +a b +MySQL has now support for full-text search select * from t1 where MATCH a AGAINST ("search" IN BOOLEAN MODE); a b Full-text search in MySQL implements vector space model diff --git a/mysql-test/t/fulltext.test b/mysql-test/t/fulltext.test index a7a40706e89..f9ecde1d6e2 100644 --- a/mysql-test/t/fulltext.test +++ b/mysql-test/t/fulltext.test @@ -34,6 +34,9 @@ select *, MATCH(a,b) AGAINST("support collections" IN BOOLEAN MODE) as x from t1 select *, MATCH(a,b) AGAINST("collections support" IN BOOLEAN MODE) as x from t1; select * from t1 where MATCH a,b AGAINST ('"Now sUPPort"' IN BOOLEAN MODE); +select * from t1 where MATCH a,b AGAINST ('"text search" "now support"' IN BOOLEAN MODE); +select * from t1 where MATCH a,b AGAINST ('"text search" -"now support"' IN BOOLEAN MODE); +select * from t1 where MATCH a,b AGAINST ('"text search" +"now support"' IN BOOLEAN MODE); # boolean w/o index: |