改进网站站内搜索-百度,Google自定义搜索和Elasticsearch自建搜索

WordPress自带的搜索虽然说可以搜出一些东西出来,但是有时搜索的结果不一定满意,而且没有联词搜索和模糊搜索,导致有时候必须指定准确的关键字才能搜索出结果来。况且Wordpress自带的搜索对MysqL数据库查询依赖大,数据库大的话比较消耗时间。

替换Wordpress默认的搜索也不是什么难事,懂行的人基本上都知道site:wzfou.com xxx就可以搜索出指定网站的站内内容,而百度、Google都推出了自定义搜索,就是把site:wzfou.com xxx直接嵌入到站内,用户点击搜索后不用跳转到百度Google就可以看到结果。

不过百度,Google自定义搜索依赖于搜索引擎的索引,这对于索引少或者是新站来说,有时新的文章搜索不出来,影响了用户体验。于是,Elasticsearch这种开源免费的自建搜索引擎诞生了,这是一个分布式、可扩展、实时的搜索与数据分析引擎,可以处理全文搜索和结构化数据的实时统计。

用Algolia给WordPress添加实时站内搜索功能-搜索质量更高内容更准

WordPress自带的“软弱”搜索功能一直是我比较介意的,搜索出来的结果相关性不是很高,结果的精准度不够,而且Wordpress自带的搜索不能搜索标签、分类以及其他版块的内容,只能按照时间的先后顺序来列出搜索结果,有的时候找东西真的很麻烦。

通常为了增强Wordpress自带的搜索功能,我们会用到百度和谷歌的自定义搜索,之前我在百度,Google自定义搜索和Elasticsearch自建搜索一文有过详细的介绍,有兴趣的朋友可以阅读一下。但是使用百度和谷歌自定义搜索有两个致命的问题:

一是百度站内搜索不支持Https,虽然说网上有不少采用nginx反代(有兴趣的朋友可以看这篇:Nginx反向绑定,缓存加速,自动更新缓存和获取真实IP)的方式来解决Https调用的问题,但是折腾过程太复杂,而且也存在图片无法打开和额外增加费用的问题。

订阅 Wordpress搜索