官方的搜索插件说实话,搜索安全但是搜索效率太低,不能多个关键词匹配。我在自己网站搜索老帖子经常出现输入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条数据也是秒查找,不影响!
二楼需要修改后的文件,修改后把文件传上来了,在本站测试没问题。下载替换吧!
来源:秘言