在品牌宣传的常规实践中,一方面有品牌SEO,另外一方面有品牌SEM。那么,SEM推广与SEO推广究竟有何不同?如何搭配组…
网站中文分词与智能搜索的尝试
分词需求
默认的WP并没有分词功能,搜索时很难找到自己的结果,除非搜索的用户会使用空格,否则,网站不会自动分词的,因为网站只支持手工空格分词
比如,如果你搜 “保定seo公司”,结果如下
如果你搜 “保定 seo 公司” ,内容很灿烂:
但是一般用户习惯了搜索引擎的自动分词,所以,网站如果不能自动分词,那么,用户体现就会差一些。
分词方案
方法一、搜索的时候提示用户用空格分隔,有点小傻。
方法二、解决思路是对用户的查询字串进行分词,然后用空格隔开,最后送到数据库里查询。
中文分词函数
将分词函数 sea_seg()放入function.php
/** * 分词 * @param $s 原始句子 * @return string 用空格隔开的分词结果 * @author hankcs */ function sae_seg($s) { $seg = new SaeSegment(); $ret = $seg->segment($s);//$s是原始查询串 if ($ret) { $phrase = ''; foreach ($ret as $word) { $phrase .= $word['word'] . ' '; } $phrase = substr($phrase, 0, strlen($phrase) - 1); } return $phrase; }
改善搜索功能
通过主题search.php实现搜索语句分词,通过js重定向,发起一次新的搜索:
if(!isset($_GET['seg'])) { $ret = sae_seg($request_vars['s']); if ($ret) { ?> <script type="text/javascript"> <!-- location.replace("<?php echo get_option('siteurl') . '/?s=' . $phrase .'&seg=done'; ?>"); --> </script> <?php } }
我们试试看:
结果报错了,原因,本站的主题二开过于复杂,难以直接使用外部的解决方案,稍后会想其他办法更新。
若你使用的是国内主题,不妨修改一下试试。
最终解决办法
用了模板兔开发的插件Erphp Search,使用效果可以直接搜索测试。
终于解决,插件地址:https://qie.me/wordpress/erphp-search
本站支持原创只是产权,请购买正版。联系原创作者,请注明米国生活seo推荐,或许有彩蛋。
对了该插件还集成了百度的NLP功能(接口申请地址:申请地址https://console.bce.baidu.com/ai/?fromai=1#/ai/nlp/overview/index),对模板兔和百度表示支持和感谢。