官方的搜索插件说实话,搜索安全但是搜索效率太低,不能多个关键词匹配。我在自己网站搜索老帖子经常出现输入2个关键词搜不到的情况,只输入1个关键词吧内容又太多,搜索的不够准确!后来看了一下搜索源码,难怪,输入多个空格的词最终还是当一个词搜索的,这就尴尬了。 比如: + M& v _7 Y2 g, A- E4 x
搜索此帖输入“xiuno pc”是搜索不到此帖的,那怎么才可以搜索到此帖呢,只能输入“xiuno侧重”,那想输入“xiuno pc”能搜索此帖有没有办法呢?答案是:必须有! 打开搜索文件xn_search\route\search.php,然后我使用的是like搜索类型,添加和修改以下代码 . ] G: Q8 R) ?
- 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语句 最终搜索效果图
0 s/ h* B# w$ |( E4 G6 J这样就可以多关键词匹配到结果了。可能效率会降低,但是总比搜不到自己想要的结果要好的多吧,再者,我们的论坛都是建了索引的,就算你有10W条数据也是秒查找,不影响!
, y# k$ K; S, x0 h) ~
8 F- `3 F/ H0 [5 M! [; X- G
6 L- ]" r, Y$ L& r( z$ f# D) m6 i8 |7 l
|