WordPress 实现自动中文分词搜索的方法

之前的建站教程中,我们介绍了WordPress搜索功能的制作方法,这也是Wordpress程序的默认搜索方法,这种方法是将用户的搜索词全部匹配后才能得到结果。如果用于搜索词很长的话,很大可能是无法得到相关结果的。

为了防止用户长搜索词匹配不了结果的问题,可以将用户的搜索词进行分词,然后对分词的每个词进行匹配,得到结果。下面介绍一下Wordpress 实现自动分词搜索的方法。

WordPress 实现自动中文分词搜索的方法

方法/步骤

  • 安装Wordpress 自动分词搜索插件,这个插件的功能就是将搜索词通过API接口进行分词。
  • 插件下载:https://pan.baidu.com/s/1JpOtYtiGK2guxX9osdnDVA 提取码: 5j9q ;
  • 在自己网站后台安装这款插件,不需要做任何设置;

改造一下自己的搜索页模板search.php,将默认循环代码替换成以下的代码:

<?php
$sousuociarr=explode(' ',$s);//转换成搜索词数组
//获取词数量
if(count($sousuociarr)>5){
$cishu = 20;
}else{
$cishu = 30;
}
/*查询主站*/
$varszhuzhan = array();
for($i=0;$i<count($sousuociarr);$i++){
$taglength = mb_strlen($sousuociarr[$i],'utf-8');//获取长度
if($taglength > 1){
$vars = $wpdb -> get_results("SELECT * FROM `wp_posts` where post_status='publish' and post_type='post' and post_title like '%$sousuociarr[$i]%' LIMIT $cishu", ARRAY_A);
$varszhuzhan = array_merge($varszhuzhan, $vars);//合并数组
}
}
$varszhuzhan = array_unique($varszhuzhan, SORT_REGULAR);//去重处理
?>
<ul class="mb_body_list clearfix">
<?php
foreach($varszhuzhan as $varzz){?>
<li><a href="<?php echo get_permalink($varzz['ID'])?>" rel="external nofollow"  target="_blank"><?php echo $varzz['post_title'];?></a></li>
<?php }?>
</ul>

这样就可以实现用户在搜索时,自动将搜索词分词,然后将每个词进行匹配,得到结果了,实现了分词搜索功能。

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

1、本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!

2、分享目的仅供大家学习和交流,请不要用于商业用途!

3、本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!

4、如有链接无法下载、失效或广告,请联系管理员处理!

5、本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!

潍坊网络公司 WordPress教程 WordPress 实现自动中文分词搜索的方法 http://www.sdwfseo.com/778.html

常见问题
  • 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。
查看详情
  • 最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议换个浏览器下载
查看详情

相关文章

评论
暂无评论