diff options
Diffstat (limited to 'myisam/ft_static.c')
-rw-r--r-- | myisam/ft_static.c | 32 |
1 files changed, 28 insertions, 4 deletions
diff --git a/myisam/ft_static.c b/myisam/ft_static.c index 00d9d4ed19a..3efb3a3ec74 100644 --- a/myisam/ft_static.c +++ b/myisam/ft_static.c @@ -1,15 +1,15 @@ /* Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB - + This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. - + This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. - + You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ @@ -18,6 +18,11 @@ #include "ftdefs.h" +ulong ft_min_word_len=4; +ulong ft_max_word_len=HA_FT_MAXLEN; +ulong ft_max_word_len_for_sort=20; +const char *ft_boolean_syntax="+ -><()~*:\"\"&|"; + const MI_KEYSEG ft_keysegs[FT_SEGS]={ { HA_KEYTYPE_VARTEXT, /* type */ @@ -39,10 +44,29 @@ const MI_KEYSEG ft_keysegs[FT_SEGS]={ }, #endif /* EVAL_RUN */ { - HA_FT_WTYPE, 7, 0, 0, 0, 0, HA_FT_WLEN, 0, 0, NULL + HA_FT_WTYPE, 7, 0, 0, 0, HA_NO_SORT, HA_FT_WLEN, 0, 0, NULL } }; +const struct _ft_vft _ft_vft_nlq = { + ft_nlq_read_next, ft_nlq_find_relevance, ft_nlq_close_search, + ft_nlq_get_relevance, ft_nlq_reinit_search +}; +const struct _ft_vft _ft_vft_boolean = { + ft_boolean_read_next, ft_boolean_find_relevance, ft_boolean_close_search, + ft_boolean_get_relevance, ft_boolean_reinit_search +}; + +FT_INFO *(*_ft_init_vft[2])(MI_INFO *, uint, byte *, uint, my_bool) = +{ ft_init_nlq_search, ft_init_boolean_search }; + +FT_INFO *ft_init_search(uint mode, void *info, uint keynr, + byte *query, uint query_len, my_bool presort) +{ + return (*_ft_init_vft[mode])((MI_INFO *)info, keynr, + query, query_len, presort); +} + const char *ft_precompiled_stopwords[] = { #ifdef COMPILE_STOPWORDS_IN |