WordPress教程

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

阿里云

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

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

也想出现在这里?联系我们
创客主机

方法/步骤

安装 WordPress 自动分词搜索插件,这个插件的功能就是将搜索词通过 API 接口进行分词。

在自己网站后台安装这款插件,不需要做任何设置;

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

  1. <?php
  2. $sousuociarr=explode(' ',$s);//转换成搜索词数组
  3. //获取词数量
  4. if(count($sousuociarr)>5){
  5. $cishu = 20;
  6. }else{
  7. $cishu = 30;
  8. }
  9. /*查询主站*/
  10. $varszhuzhan = array();
  11. for($i=0;$i<count($sousuociarr);$i++){
  12. $taglength = mb_strlen($sousuociarr[$i],'utf-8');//获取长度
  13. if($taglength > 1){
  14. $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);
  15. $varszhuzhan = array_merge($varszhuzhan, $vars);//合并数组
  16. }
  17. }
  18. $varszhuzhan = array_unique($varszhuzhan, SORT_REGULAR);//去重处理
  19. ?>
  20. <ul class="mb_body_list clearfix">
  21. <?php
  22. foreach($varszhuzhan as $varzz){?>
  23. <li><a href="<?php echo get_permalink($varzz['ID'])?>" target="_blank"><?php echo $varzz['post_title'];?></a></li>
  24. <?php }?>
  25. </ul>

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

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

已有 382 人购买
  • lwfr
查看演示升级 VIP立刻购买

下载地址
收藏
(0)

发表回复

热销模板

Ashade - 作品展示摄影相册WordPress汉化主题
LensNews

本站承接 WordPress / PbootCMS / DedeCMS 等
系统建站、仿站、开发、定制等业务!