Commit 7e616128 authored by unknown's avatar unknown

bug in relevance calculation fixed

parent 74e044c0
...@@ -260,15 +260,14 @@ void _ftb_climb_the_tree(FTB_WORD *ftbw, my_off_t curdoc) ...@@ -260,15 +260,14 @@ void _ftb_climb_the_tree(FTB_WORD *ftbw, my_off_t curdoc)
else else
/* if (yn==0) */ /* if (yn==0) */
{ {
ftbe->cur_weight+=weight;
if (ftbe->yesses >= ftbe->ythresh && !ftbe->nos) if (ftbe->yesses >= ftbe->ythresh && !ftbe->nos)
{ {
yn=ftbe->yesno; yn=ftbe->yesno;
ftbe->cur_weight=weight;
weight*=ftbe->weight; weight*=ftbe->weight;
} }
else else
{ {
ftbe->cur_weight+=weight;
break; break;
} }
} }
......
...@@ -48,6 +48,13 @@ Full-text search in MySQL implements vector space model ...@@ -48,6 +48,13 @@ Full-text search in MySQL implements vector space model
select * from t1 where MATCH(a,b) AGAINST("+search -(support vector)" IN BOOLEAN MODE); select * from t1 where MATCH(a,b) AGAINST("+search -(support vector)" IN BOOLEAN MODE);
a b a b
Function MATCH ... AGAINST() is used to do a search Function MATCH ... AGAINST() is used to do a search
select *, MATCH(a,b) AGAINST("support collections" IN BOOLEAN MODE) as x from t1;
a b x
MySQL has now support for full-text search 1
Full-text indexes are called collections 1
Only MyISAM tables support collections 2
Function MATCH ... AGAINST() is used to do a search 0
Full-text search in MySQL implements vector space model 0
delete from t1 where a like "MySQL%"; delete from t1 where a like "MySQL%";
drop table t1; drop table t1;
CREATE TABLE t1 ( CREATE TABLE t1 (
......
...@@ -21,6 +21,7 @@ select * from t1 where MATCH(a,b) AGAINST("+support +collections" IN BOOLEAN MOD ...@@ -21,6 +21,7 @@ select * from t1 where MATCH(a,b) AGAINST("+support +collections" IN BOOLEAN MOD
select * from t1 where MATCH(a,b) AGAINST("+search" IN BOOLEAN MODE); select * from t1 where MATCH(a,b) AGAINST("+search" IN BOOLEAN MODE);
select * from t1 where MATCH(a,b) AGAINST("+search +(support vector)" IN BOOLEAN MODE); select * from t1 where MATCH(a,b) AGAINST("+search +(support vector)" IN BOOLEAN MODE);
select * from t1 where MATCH(a,b) AGAINST("+search -(support vector)" IN BOOLEAN MODE); select * from t1 where MATCH(a,b) AGAINST("+search -(support vector)" IN BOOLEAN MODE);
select *, MATCH(a,b) AGAINST("support collections" IN BOOLEAN MODE) as x from t1;
delete from t1 where a like "MySQL%"; delete from t1 where a like "MySQL%";
drop table t1; drop table t1;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment