该插件用于让 Vuepress 的搜索栏支持全文搜索。
- 当用户在搜索栏中输入字符串时,该插件会实时地向 meilisearch 服务器发出 AJAX 形 式的查询请求,然后将查询结果显示在搜索栏下方。
meilisearch 是一个开源的搜索引擎,采用 Rust 语言开发,借鉴了 Algolia 引擎,适合 用于实现个人网站的搜索栏。
- 官网(opens new window)
- 使用 meilisearch 的主要流程如下:
- 运行 meilisearch 服务器。
- 执行 meilisearch 的 scrape 工具,抓取目标网站的内容信息,并送到 meilisearch 服务器中存储。 每当目标网站的内容更新时,就应该抓取一次。
- 向 meilisearch 服务器发出 HTTP 查询请求,搜索某一字符串在目标网站上的位置。
使用步骤
-
启动 meilisearch 服务器:
-
启动 meilisearch 服务器时,默认没有设置密钥,允许用户访问任意 URL 。设置密 钥就可以拒绝非法用户的访问。密钥尽量长一些。
-
可以设置环境变量
即;
作为主密钥,此时会自动生成私钥和公钥,发送以下 HTTP 请求即可查询到:
会返回俩个密钥:Default Search API Key
和 Default Admin API Key
-
如果用户在发出的 HTTP 查询请求的 headers 中加上 Default Admin API Key
(主 密钥一般不用于查询),才有权访问除了 /keys
以外的 URL 。如果使用 Default Search API Key,则只有权查询 /indexes
下的部分内容。
-
部署新的 meilisearch 时,索引不能向上兼容,需要清空 /data.ms
目录,重新生 成索引。
-
执行 meilisearch 的 scrape 工具:
这里需要创建 scrape 的配置文件 docs-scraper.json ,如下:
-
安装:yarn add vuepress-plugin-meilisearch
-
在 config.js 中添加如下配置:
-
重新编译 Vuepress 网站。