使用php搜索mysql的最佳技术


Best search technique for mysql using php

我有大约7个文本框,其中3个是必填的,我有一个搜索表,我想知道实现最佳搜索结果的最佳逻辑是什么。

我建议使用全文搜索,它会搜索所有字段,如果为null则忽略它们,这里有一个不错的指南http://devzone.zend.com/26/using-mysql-full-text-searching/我会添加过滤器,使其超过2个字符,并忽略一个常见单词数组例如,把你的搜索放在像这样的if语句中

$ignorewords=数组("the"、"and"、"their"、"there"、"to"、"fix"、"make"、"add"、"然后"、"if"、"for"、"那么"、"or");

if ( (in_array(strtolower($value), $ignorewords) == false) && (strlen($value) > 2 ) )

使用类似"%{$value}%"来获取包含单词或单词部分的内容。if语句检查搜索项($value)是否在数组中,如果不在,则返回false。>2的限制是防止有人键入"a"并获取后面有字母a的所有内容。