巧用分词搜索插件增强 WordPress 搜索性能

一直以来 WordPress 都有个问题,它的搜索功能采用了完全匹配的模式,很多时候都无法得到自己想要的结果,做得跟屎一样!举个例子,这里前不久发布了一篇文章说想给博客改名,搜索“博客改名”能精确命中该文,但如果没有安装分词插件增强 WordPress 搜索,搜索“博客改名字”是不会返回任何结果的!这时候咱就不得不主动更改关键词去扩大搜索范围,很影响用户体验。

你可能觉得这功能没啥用?错了…只要稍微留心下网页统计,其实访客用搜索的次数还真不少,但往往没有获得有用的结果(前提是你的网站上有相关内容)。我本人一直想增强 WordPress 的搜索功能,可是之前一直没用对关键词,也就没有找到合适的方案…有一段时间甚至想尝试引入搜索引擎来实现。

现在我终于发现原来有个类目叫:WordPress 分词搜索插件,其主要功能就是把咱键入的关键词拆开了在 WordPress 系统中去检索,然后把结果返回呈现出来。比如上面的例子,用了分词搜索插件后,原关键词可能会被拆成“博客 改名字”或者“博客 改名 字”,然后系统会根据这拆开的几个关键词去分别检索,按照插件后台设置的 And 和 Or 的组合条件最终给访客呈现相关页面。

这个分词的动作由插件自动完成,其分词语言逻辑取决于所接入的 API,有时候也不一定准……即便不准的时候,咱人为手动地在搜索关键词之间打空格也是可以实现分词搜索的(以前不行),挺好用。英文分词搜索软件我用不上,也没做相关测试,本文推荐两个完全免费的 WordPress 中文分词搜索插件,快去增强你的搜索功能吧!

一、Erphp Search 分词搜索/搜索增强插件

Erphp Search 是一款由模板兔开发的分词搜索/搜索增强 WordPress 插件,插件主要功能就是将用户搜索的关键字进行分析后进行拆分,然后进行分词搜索,从而达到搜索结果更智能、更广泛。该插件完全免费,内置了百度、腾讯和结巴 3 个 API 接口,百度腾讯的接口为远程调用需要进一步设置(需付费);结巴中文分词则完全开源,作者也将结巴分词的数据完全集成进了主题文件,免费使用。所以…你即将获得一个超过 100MB 的 WordPress 插件。

Erphp Search 分词搜索插件可选的设置就两个:一是选择 API(其实已经没有选择了);二是对搜索结果组合条件的判定,“AND”需要同时包含所有关键字,“OR”则仅需包含其中某一个关键字,具体就看你的需求了…我选的是 AND。

Erphp Search 分词搜索/搜索增强插件
Erphp Search 分词搜索/搜索增强插件

WordPress 搜索功能本身就是一个体力活,在文章很多的情况下搜索是很耗资源的。如果增加 Erphp Search 分词搜索,特别是采用结巴本地词库,势必会对搜索速度产生一定的影响。作者自述采用结巴接口本地处理分词建议服务器至少 4G 内存,但我实际测试并不需要如此高的性能…且如果搜索不工作的话本身是不消耗性能的,所以请放心安装吧。

二、dahuzi-search-analysis 中文分词搜索插件

该插件同样完全免费,体积小巧(仅二十行代码)没有任何设置项,其中文分词调取了Pullword 分词接口,需要将关键词传输到远端分词后再返回本地搜索,我本人在测试站使用是能正常工作的,不过很遗憾它在我的两个主站(阿里云/宝塔)都无法启用,提示有核心错误。插件原作者对其进行了 php 加密,我也就无法得知其具体的出错原由了~

1500 1125 Kevin's
「巧用分词搜索插件增强 WordPress 搜索性能」有 7 条评论
  • Jeffer.Z
    04/11/2024 at 17:16 回复

    应该没人用我得搜索,毕竟我自己都不用,😂

  • 威言威语
    04/10/2024 at 16:40 回复

    WP的搜索确实比较一般,我觉得搜索分词之后,优先是and,然后出or。不能只是and。Wordpress自带的搜索,假如你自己手动空格分词,就是按照and来搜索的。

  • 趣知识
    04/09/2024 at 15:53 回复

    好几年没用wp了,有啥新东西了吗?

  • 皇家元林
    04/09/2024 at 14:33 回复

    估计搜索我博客的人不多吧

  • xige
    04/09/2024 at 00:35 回复

    近期是开启了折腾模式,好几篇都在折腾哈,这是好趋势

  • 平安家属子痕
    04/08/2024 at 22:05 回复

    这个好,如果有是资源站或者内容站,这个就有用的多。

  • obaby
    04/08/2024 at 20:36 回复

    我是基于结巴分词直接手搓的搜索代码,哈哈哈。这个有插件就方便多了

发表评论

请输入关键词…