0
我有一张表,没有多少行,也没有多少列。我正在3列进行全文搜索。如何使用部分匹配搜索全文?
我的代码是
$search_input = trim($_GET['s']);
$search = mysql_real_escape_string($search_input);
$search = '+'.str_replace(' ', '* +', $search).'*';
$sql = "SELECT * FROM table WHERE
MATCH(def, pqr, xyz) AGAINST ('$search' IN BOOLEAN MODE)";
$result = mysql_query($sql);
我可以正确地搜索诸如ABCDEFGH而言,这是目前为...... ABCDEFGH ...。
但我收到空集与搜索词像ABC,其中表项是否存在类似ABC-123,也术语如abcdefghs。 (注意这是上面的复数)
显然我需要实现部分搜索,或类似的东西。
但是,我如何实现这样的搜索?任何更好的方式来做用户输入的整个表格搜索?
请提及我做错了什么。
编辑:通过每一个字后加*,现在我能还搜索ABCDE,但上述问题依然存在。
是的,看起来像我面对这样的烦恼。顺便说一句,我认为你提到的那个页面,默认是4个字符而不是3个。我不能碰这个长度。 – 2012-03-09 18:07:47
对不起,是的。查看文档,在conf文件中设置'ft_min_word_len'选项可能会有所帮助。 – JohnP 2012-03-09 18:17:18