我试图为用户提供更好的搜索体验,我们为以下产品提供了很多长标题:
" Loptop Acer V3-772 17.3"高清+ /英特尔酷睿i7-4702MQ iki 3.2Ghz / 4Gb DDR3 1600Mhz / 1Tb硬盘/ GeForce GTX850 2Gb DDR5 / WiFi / HDMI /蓝牙/高清摄像头/ USB 3.0 "
所以,如果客户正在寻找:" Acer 4Gb 1Tb i7 " loptop,MySQL函数LIKE%...%它发现它很快,但如果一个结果像" i7 "找不到,查询给出0结果。
我们正在尝试按每个搜索关键字进行搜索,然后使用搜索关键字进行搜索,并在其中搜索2个和3个组合的LIKE字词。
或者,为了实现所有搜索,还有更简单的解决方案吗?
更新:大家好, 所以我得到了我的任务解决方案 - 最小1符号的全文搜索,在my.ini文件中重新配置,所以它寻找" i7"以及所有其他小搜索,感谢您的帮助:)
答案 0 :(得分:0)
更好地做你想要实现的目标:
$search_key = $_POST['searchkey']; //take the search text from the post method
$search_words = array();
$search_words = explode(" ",$search_key);
$q_string = "";
$last_index = intval(count($search_Words)) - 1;
for($i = 0; $i<count($search_Words);$i++)
{
$q_string = $q_string . " description LIKE '%$search_words[$i]%' ";
if($i != $last_index)
$q_string = $q_string . " OR ";
}
然后是最后一次
mysql_query("SELECT * FROM table_name WHERE ".$q_string);
注意:
假设{table}名称description
字段表示产品的详细信息