Meilisearch 是一个搜索引擎,主程序完全开源,除了使用官方提供的美丽云服务(收费)进行对接之外,还可以通过自建搜索引擎来实现完全独立的搜索服务。
由于成本问题,本博客采用自建的方式,本文就讲讲怎么搭建。
本文主要参考:
首先需要在服务器上安装美丽云搜索:
我在用 curl 安装的时候,发现有报错,推测是 GFW 的问题,改为用 Docker 安装(有很多安装方式,参考安装指南):
然后启动命令格式为:
注意修改 master-key,该密钥用于爬虫抓取使用(就是爬取你的博客内容并做好分词、索引等)。
启动后可以用 docker ps 查看容器状态,或者用 telnet 检查端口是否被监听。
首先去阿里云上配置 DNS 解析记录:
这个结合自身情况添加配置(例如我用的是 Nginx):
配置后记得重启 Nginx,并且记得开通防火墙,然后尝试访问子域名,可以看到正常转发了请求:
接下来,我们通过美丽云提供的爬虫功能,将博客数据创建成索引,相关文档请见:Integrate a relevant search bar to your documentation — Meilisearch documentation。
其中,提供了一个关于 VuePress 的配置文件模板:
If you use VuePress for your documentation, you can check out the configuration file we use in production. In our case, the main container is and the selector titles and subtitles are , …
注意如上的配置内容很重要,如果你的博客不是常规默认的,那么需要根据自己的情况对元素进行辨别,详细配置项说明,参考官方文档:更多可选字段 。
我用的配置如下:
:为索引名称,如果服务端没有,则会自动创建。接下来我们将这个配置文件放到服务器上,然后通过如下命令运行爬虫对内容进行抓取(注意修改相关参数):
执行过程中可以看到每个页面都进行了抓取(爬取过程会比较久,这取决于博客的内容数量):
在美丽云中,有两种密钥:
更多说明可以参考官网文档:Master key and API keys — Meilisearch documentation。
由于 master-key 权限很大,不宜暴露,因此我们可以创建一个只有搜索权限的 API Key(用来搜索),命令格式:
然后会返回一串 JSON,其中的 key 就是我们需要的(已脱敏):
我们可以使用 Postman 来测试搜索效果(如果使用了美丽云的服务,可以在其官网进行搜索测试)
相关文档:Postman collection for Meilisearch — Meilisearch documentation (图片需科学上网后看到)
配置好后,可以进行搜索,效果如下:
接下来就是在 VuePress 中集成美丽云了。
客户端的配置相对简单,因为 meilisearch 的官方文档用的也是 Vuepress,因此官方也维护了一个 Vuepress 的插件,安装:
然后在配置插件的部分添加相关配置:
然后本地运行,试试效果:
如果每次更新了博客,都重新运行建立索引的命令,也太麻烦了。我们可以脚本化,或者使用 GitHub Action。例如,添加如下配置:
注意这 3 个配置:
配置完后,当我们提交了新的代码,就会自动爬取博客数据并更新索引了,GitHub Action 执行情况:
本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕,E-mail:xinmeigg88@163.com
本文链接:http://www.ksxb.net/tnews/5491.html