模板制作网
阅读:134回复:5

建议优化搜索功能

楼主#
更多 发布于:2020-10-24 22:45
现在采用的模糊搜索在大量数据(10W)的时候出来一个结果要2-4s,查询一般都是毫秒级的,可以优化下吗站长~
1楼#
发布于:2020-10-24 22:46
这样被攻击搜索接口就不会占用过高的cpu了。。。。
2楼#
发布于:2020-10-24 22:54
switch (intval($searchtype)) {
 case -1:
 $whereStr=" where v_recycled=0 and (v_name like '%$searchword%' or v_actor like '%$searchword%' or v_director like '%$searchword%' or v_publisharea like '%$searchword%'  or v_publishyear like '%$searchword%' or v_letter='$searchword' or v_tags='$searchword' or v_nickname like '%$searchword%')";
 break;
 case 0:
 $whereStr=" where v_recycled=0 and v_name like '%$searchword%'";
 break;
 case 1:
 $whereStr=" where v_recycled=0 and v_actor like '%$searchword%'";
 break;
 case 2:
 $whereStr=" where v_recycled=0 and v_publisharea like '%$searchword%'";
 break;
 case 3:
 $whereStr=" where v_recycled=0 and v_publishyear like '%$searchword%'";
 break;
 case 4:
 $whereStr=" where v_recycled=0 and v_letter='".strtoupper($searchword)."'";
 break;
默认搜索是搜索了:0影片名称,1影片主演,2影片地区,3影片年份,4影片首字母,5影片关键词,
共计6项内容,所以会造成消耗时间过长。


建议将search.php文件里的:
$searchtype = (isset($searchtype) && is_numeric($searchtype)) ? $searchtype : -1;

这个-1修改为0,只搜索影片名称。
3楼#
发布于:2020-10-24 23:34
谢谢啦,回复好快!
4楼#
发布于:2020-10-24 23:58
为什么 case -1里面写了case 234重复的搜索内容呀,这样会影响效率吗?
我现在只保留名称、别名、演员
5楼#
发布于:2020-10-25 02:35
新版本提供后台选择搜索项目,稍后就会发布升级文件。
游客

返回顶部