WordPress搜索功能增强的开发思路

张子凡 WordPress优化 2022-04-19 12:06:21 阅读(...) 评论(8)

来给大家分享一个子凡我最近开发 WordPress 搜索增强功能的一个思路,主要目的就是出于网站搜索聚合页面的优化,其次当然就是提升网站搜索结果相关度和内容丰富程度,用 WordPress 的朋友应该都知道,WordPress 本身的搜索过于单纯,精准匹配对于网站搜索来说可能几乎搜索不到任何的内容,对于普通用户搜索也不会用关键和空格分隔的方式来搜索。

WordPress search 搜索

所以最近子凡给我们的泪雪网搜索做了巨大的升级和优化,今天主要就是分享其中一个增强 WordPress 搜索功能的思路,那就是利用 WordPress 本身的 tag 标签来作为词库,然后给搜索词做分词切割,这样做的好处是分词词库都是根据我们网站标签而来,相对而言更为准确和有效,其次是网站本身的数据接口,开发和使用起来拥有绝对的控制权,相比使用第三方分词接口或者分词词库更好的本地化了。

第三方分词当然还是能找到免费的分词接口,并且还有人开发过 WordPress 搜索分词插件,当然也还有利用开源的分词库来做了插件,但是子凡看了都不是很理想,主要就是第三方接口的稳定性和以后的发展,我可不想用着用着那天就没法用了,我不想做这种无用功,其次就是对于付费的接口,我想我暂时肯定是接受不了的,毕竟搜索这个功能属于长期运营,忽然间多出这么一部分支出当然是划不来的。

那么子凡经过再三研究和对比考虑,最后还是选择利用 WordPress 标签功能作为词库来给 WordPress 搜索做分词处理。稍微详细的开发思路如下:

1、利用 get_tags 函数获取所有函数,因为是分词所以可以设置 hide_empty 为 false,就算是空标签也可以用来做分词;

2、然后使用 wp_list_pluck 来提取标签数组中所有标签 name 名称,这样标签词库就是一个完整的数组了;

3、为了后续的开发和使用效率,子凡我用 wp_cache_set 做了缓存设置,有效期设置的一天时间,当然还可以利用其它方式做缓存等等,反正就是避免每次分词都要获取一次全部的标签,造成服务器压力和延迟;

4、最后 foreach 循环加上 strpos 开始拆分搜索词,并且记录好分词和标签关键词,根据自己实际的开发需求做后续开发即可。

好啦,子凡就只能简单的给大家分享到这里,如果你有什么更加优秀的方式方法欢迎留言告诉子凡,特别是如果能够比这个方法更加高效,务必要告诉一下子凡哦。

更多关于WordPress优化及疑问可以添加QQ群:255308000

除非注明,否则均为泪雪博客原创文章,禁止任何形式转载

本文链接:https://zhangzifan.com/wordpress-search-enhanced-methods.html

留言评论

登录 后留言