Loading Docs/manual.texi +13 −8 Original line number Diff line number Diff line Loading @@ -33861,18 +33861,18 @@ to the word, not prepended. And here are some examples: @table @code @item ``apple banana'' @item apple banana find rows that contain at least one of these words. @item ``+apple +juice'' @item +apple +juice ... both words @item ``+apple macintosh'' @item +apple macintosh ... word ``apple'', but rank it higher if it also contain ``macintosh'' @item ``+apple -macintosh'' @item +apple -macintosh ... word ``apple'' but not ``macintosh'' @item ``+gates +(>hell <bill)'' @item +gates +(>hell <bill) ... ``hell'' and ``gates'', or ``bill'' and ``gates'' (in any order), but rank ``gates to hell'' higher than ``bill gates''. @item ``apple*'' @item apple* ... ``apple'', ``apples'', ``applesause'', and ``applet'' @end table Loading @@ -33882,7 +33882,6 @@ order), but rank ``gates to hell'' higher than ``bill gates''. * Fulltext TODO:: Full-text Search TODO @end menu @node Fulltext Restrictions, Fulltext Fine-tuning, Fulltext Search, Fulltext Search @subsection Fulltext Restrictions Loading Loading @@ -45844,12 +45843,18 @@ Our TODO section contains what we plan to have in 4.0. @xref{TODO MySQL 4.0}. @itemize @bullet @item Added @file{myisam/ft_dump} utility for low-level inspection of @code{FULLTEXT} indexes. @item Fixed bug in @code{DELETE ... WHERE ... MATCH ...} @item Added support for @code{MATCH ... AGAINST(... IN BOOLEAN MODE)}. @strong{Note: you have to rebuild your tables with @code{ALTER TABLE tablename TYPE=MyISAM} to be able to use boolean fulltext search}. @item @code{LOCATE()} and @code{INSTR()} are case sensitive if neither argument is a binary string. binary strings. argument is a binary string. @item Fixed core dump bug in @code{UPDATE ... ORDER BY }. @item myisam/Makefile.am +2 −2 Original line number Diff line number Diff line Loading @@ -25,14 +25,14 @@ bin_PROGRAMS = myisamchk myisamlog myisampack myisamchk_DEPENDENCIES= $(LIBRARIES) myisamlog_DEPENDENCIES= $(LIBRARIES) myisampack_DEPENDENCIES=$(LIBRARIES) noinst_PROGRAMS = mi_test1 mi_test2 mi_test3 #ft_test1 ft_eval ft_dump noinst_PROGRAMS = mi_test1 mi_test2 mi_test3 ft_dump #ft_test1 ft_eval noinst_HEADERS = myisamdef.h fulltext.h ftdefs.h ft_test1.h ft_eval.h mi_test1_DEPENDENCIES= $(LIBRARIES) mi_test2_DEPENDENCIES= $(LIBRARIES) mi_test3_DEPENDENCIES= $(LIBRARIES) #ft_test1_DEPENDENCIES= $(LIBRARIES) #ft_eval_DEPENDENCIES= $(LIBRARIES) #ft_dump_DEPENDENCIES= $(LIBRARIES) ft_dump_DEPENDENCIES= $(LIBRARIES) libmyisam_a_SOURCES = mi_open.c mi_extra.c mi_info.c mi_rkey.c \ mi_rnext.c mi_rnext_same.c \ mi_search.c mi_page.c mi_key.c mi_locking.c \ Loading myisam/ft_dump.c +4 −20 Original line number Diff line number Diff line Loading @@ -38,10 +38,6 @@ int main(int argc,char *argv[]) MI_INFO *info; char buf[MAX], buf2[MAX], buf_maxlen[MAX], buf_min_gws[MAX]; ulong total=0, maxlen=0, uniq=0, max_doc_cnt=0; #ifdef EVAL_RUN uint cnt; double sum, sum2, suml; #endif /* EVAL_RUN */ struct { MI_INFO *info; } aio0, *aio=&aio0; /* for GWS_IN_USE */ MY_INIT(argv[0]); Loading Loading @@ -72,6 +68,7 @@ int main(int argc,char *argv[]) if (query) { #if 0 FT_DOCLIST *result; int i; Loading @@ -88,6 +85,9 @@ int main(int argc,char *argv[]) printf("%9qx %20.7f\n",result->doc[i].dpos,result->doc[i].weight); ft_nlq_close_search(result); #else printf("-e option is disabled\n"); #endif } else { Loading @@ -99,19 +99,11 @@ int main(int argc,char *argv[]) keylen=*(info->lastkey); #if HA_FT_WTYPE == HA_KEYTYPE_FLOAT #ifdef EVAL_RUN mi_float4get(weight,info->lastkey+keylen+2); #else /* EVAL_RUN */ mi_float4get(weight,info->lastkey+keylen+1); #endif /* EVAL_RUN */ #else #error #endif #ifdef EVAL_RUN cnt=*(byte *)(info->lastkey+keylen); #endif /* EVAL_RUN */ snprintf(buf,MAX,"%.*s",(int) keylen,info->lastkey+1); casedn_str(buf); total++; Loading @@ -119,11 +111,6 @@ int main(int argc,char *argv[]) if (count || stats) { doc_cnt++; #ifdef EVAL_RUN sum +=cnt; sum2+=cnt*cnt; suml+=cnt*log(cnt); #endif /* EVAL_RUN */ if (strcmp(buf, buf2)) { if (*buf2) Loading @@ -145,9 +132,6 @@ int main(int argc,char *argv[]) } } strcpy(buf2, buf); #ifdef EVAL_RUN sum=sum2=suml= #endif /* EVAL_RUN */ doc_cnt=0; } } Loading Loading
Docs/manual.texi +13 −8 Original line number Diff line number Diff line Loading @@ -33861,18 +33861,18 @@ to the word, not prepended. And here are some examples: @table @code @item ``apple banana'' @item apple banana find rows that contain at least one of these words. @item ``+apple +juice'' @item +apple +juice ... both words @item ``+apple macintosh'' @item +apple macintosh ... word ``apple'', but rank it higher if it also contain ``macintosh'' @item ``+apple -macintosh'' @item +apple -macintosh ... word ``apple'' but not ``macintosh'' @item ``+gates +(>hell <bill)'' @item +gates +(>hell <bill) ... ``hell'' and ``gates'', or ``bill'' and ``gates'' (in any order), but rank ``gates to hell'' higher than ``bill gates''. @item ``apple*'' @item apple* ... ``apple'', ``apples'', ``applesause'', and ``applet'' @end table Loading @@ -33882,7 +33882,6 @@ order), but rank ``gates to hell'' higher than ``bill gates''. * Fulltext TODO:: Full-text Search TODO @end menu @node Fulltext Restrictions, Fulltext Fine-tuning, Fulltext Search, Fulltext Search @subsection Fulltext Restrictions Loading Loading @@ -45844,12 +45843,18 @@ Our TODO section contains what we plan to have in 4.0. @xref{TODO MySQL 4.0}. @itemize @bullet @item Added @file{myisam/ft_dump} utility for low-level inspection of @code{FULLTEXT} indexes. @item Fixed bug in @code{DELETE ... WHERE ... MATCH ...} @item Added support for @code{MATCH ... AGAINST(... IN BOOLEAN MODE)}. @strong{Note: you have to rebuild your tables with @code{ALTER TABLE tablename TYPE=MyISAM} to be able to use boolean fulltext search}. @item @code{LOCATE()} and @code{INSTR()} are case sensitive if neither argument is a binary string. binary strings. argument is a binary string. @item Fixed core dump bug in @code{UPDATE ... ORDER BY }. @item
myisam/Makefile.am +2 −2 Original line number Diff line number Diff line Loading @@ -25,14 +25,14 @@ bin_PROGRAMS = myisamchk myisamlog myisampack myisamchk_DEPENDENCIES= $(LIBRARIES) myisamlog_DEPENDENCIES= $(LIBRARIES) myisampack_DEPENDENCIES=$(LIBRARIES) noinst_PROGRAMS = mi_test1 mi_test2 mi_test3 #ft_test1 ft_eval ft_dump noinst_PROGRAMS = mi_test1 mi_test2 mi_test3 ft_dump #ft_test1 ft_eval noinst_HEADERS = myisamdef.h fulltext.h ftdefs.h ft_test1.h ft_eval.h mi_test1_DEPENDENCIES= $(LIBRARIES) mi_test2_DEPENDENCIES= $(LIBRARIES) mi_test3_DEPENDENCIES= $(LIBRARIES) #ft_test1_DEPENDENCIES= $(LIBRARIES) #ft_eval_DEPENDENCIES= $(LIBRARIES) #ft_dump_DEPENDENCIES= $(LIBRARIES) ft_dump_DEPENDENCIES= $(LIBRARIES) libmyisam_a_SOURCES = mi_open.c mi_extra.c mi_info.c mi_rkey.c \ mi_rnext.c mi_rnext_same.c \ mi_search.c mi_page.c mi_key.c mi_locking.c \ Loading
myisam/ft_dump.c +4 −20 Original line number Diff line number Diff line Loading @@ -38,10 +38,6 @@ int main(int argc,char *argv[]) MI_INFO *info; char buf[MAX], buf2[MAX], buf_maxlen[MAX], buf_min_gws[MAX]; ulong total=0, maxlen=0, uniq=0, max_doc_cnt=0; #ifdef EVAL_RUN uint cnt; double sum, sum2, suml; #endif /* EVAL_RUN */ struct { MI_INFO *info; } aio0, *aio=&aio0; /* for GWS_IN_USE */ MY_INIT(argv[0]); Loading Loading @@ -72,6 +68,7 @@ int main(int argc,char *argv[]) if (query) { #if 0 FT_DOCLIST *result; int i; Loading @@ -88,6 +85,9 @@ int main(int argc,char *argv[]) printf("%9qx %20.7f\n",result->doc[i].dpos,result->doc[i].weight); ft_nlq_close_search(result); #else printf("-e option is disabled\n"); #endif } else { Loading @@ -99,19 +99,11 @@ int main(int argc,char *argv[]) keylen=*(info->lastkey); #if HA_FT_WTYPE == HA_KEYTYPE_FLOAT #ifdef EVAL_RUN mi_float4get(weight,info->lastkey+keylen+2); #else /* EVAL_RUN */ mi_float4get(weight,info->lastkey+keylen+1); #endif /* EVAL_RUN */ #else #error #endif #ifdef EVAL_RUN cnt=*(byte *)(info->lastkey+keylen); #endif /* EVAL_RUN */ snprintf(buf,MAX,"%.*s",(int) keylen,info->lastkey+1); casedn_str(buf); total++; Loading @@ -119,11 +111,6 @@ int main(int argc,char *argv[]) if (count || stats) { doc_cnt++; #ifdef EVAL_RUN sum +=cnt; sum2+=cnt*cnt; suml+=cnt*log(cnt); #endif /* EVAL_RUN */ if (strcmp(buf, buf2)) { if (*buf2) Loading @@ -145,9 +132,6 @@ int main(int argc,char *argv[]) } } strcpy(buf2, buf); #ifdef EVAL_RUN sum=sum2=suml= #endif /* EVAL_RUN */ doc_cnt=0; } } Loading