官方的搜索插件说实话,搜索安全但是搜索效率太低,不能多个关键词匹配。我在自己网站搜索老帖子经常出现输入2个关键词搜不到的情况,只输入1个关键词吧内容又太多,搜索的不够准确!后来看了一下搜索源码,难怪,输入多个空格的词最终还是当一个词搜索的,这就尴尬了。
比如:
搜索此帖输入“xiuno pc”是搜索不到此帖的,那怎么才可以搜索到此帖呢,只能输入“xiuno侧重”,那想输入“xiuno pc”能搜索此帖有没有办法呢?答案是:必须有!
打开搜索文件xn_search\route\search.php,然后我使用的是like搜索类型,添加和修改以下代码
foreach($keyword_arr as $key => $cond_val){
$cond_sql .= ($range == 1?"subject":"message")." LIKE '%$cond_val%'";
if($key != count($keyword_arr) - 1)$cond_sql .= ' AND ';
}
注意2个小圈圈的要替换成新的SQL语句
最终搜索效果图
这样就可以多关键词匹配到结果了。可能效率会降低,但是总比搜不到自己想要的结果要好的多吧,再者,我们的论坛都是建了索引的,就算你有10W条数据也是秒查找,不影响!
历史资源提醒--必看
该页面资源/教程来自原魔趣吧历史资源转移,因发布历史久远,部分资源/教程可能已失效或无法在最新版程序中安装使用!DZ资源建议在Discuz3.4及以下版本使用,PHP版本建议5.6。资源仅提供做代码研究学习使用!
因改版,部分贴内链接将无法正常跳转,如链接失效或未正常跳转,请利用站内搜索功能搜索资源名称获取对应资源!