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

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

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

方法/步骤

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

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

改造一下自己的搜索页模板 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'])?>" target="_blank"><?php echo $varzz['post_title'];?></a></li>
<?php }?>
</ul>

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

声明:本站带有” 原 “字文章,均为本站作者原创发布。原创文章任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站作者内容侵犯了原著者的合法权益,可联系我们进行处理。

文章来源 2kss https://www.22vd.com/63357.html

相关文章

官方客服团队

为您解决烦忧 - 24小时在线 专业服务

  • 软件商用保障
    正版采购,正规版权
  • 终身SVIP
    一次购买,终身受益
  • 海量资源
    教程、主题、插件一应俱全
  • 高效学习
    多位资深大佬,坐台解答
  • 信用保证
    数百万站长和用户的选择