PHP前端开发

如何将美丽搜索与 WikiJS 结合使用

百变鹏仔 3天前 #JavaScript
文章标签 如何将

总长dr

酱:https://github.com/mbround18/wikijs-module-meilisearch

软件

什么是美丽搜索

meilisearch 是一个专为速度和简单性而构建的开源搜索引擎。它用 rust 编写,旨在以最少的配置提供快速、相关的搜索结果。 meilisearch 擅长全文搜索,并且针对性能进行了优化,即使对于大型数据集也是如此。它支持开箱即用的功能,例如拼写错误容忍和可定制的相关性排名。

美丽搜索链接

什么是 wikijs

wiki.js 是一款现代的开源 wiki 软件,为管理和共享内容提供了强大而灵活的平台。它基于 node.js 构建,设计轻量、快速且易于使用,具有时尚直观的界面,适合所有技能水平的用户使用。

链接到 wikijs

如何整合两者

先决条件

如果你没有这些,你可以使用这个 docker compose。

使用 docker 撰写

  1. 下载 docker compose 到目录中。
  2. 创建一个名为pkg的文件夹
  3. 创建一个名为 tmp 的文件夹
  4. 创建一个名为 config 的文件夹。
  5. 在 config 文件夹中,对于此演示,请下载此配置
  6. 运行 docker compose up 让它根据需要生成文件。

安装模块

  1. 导航到 github.com/mbround18/wikijs-module-meilisearch 上集成它们的模块
  2. 导航到发布选项卡
  3. 在最新版本中下载meilisearch.zip 文件。
  4. 将 zip 解压到 wikijs 服务器上的 /wiki/server/modules/search/meilisearch 。如果您使用 compose,请 docker compose down 并将 zip 文件解压到您的 ./pkg 文件夹中。
  5. 重新启动您的 wikijs 服务器。

设置模块。

建议在生产实例中,让 meilisearch 生成一个新密钥供您的应用使用。您可以通过以下curl命令来执行此操作:curl --request POST \ --url http://localhost:7700/keys \ --header 'Authorization: Bearer demo' \ --header 'Content-Type: application/json' \ --data '{ "description": "Wikijs Integration", "actions": ["*"], "indexes": ["wiki_index"], "expiresAt": "2042-04-02T00:42:42Z"}'将“demo”一词更改为您的主密钥。如果您正在使用 docker compose,那么这将仅适用于演示。除非您在撰写文件中更改了它。然后使用您为 $meili_master_key 设置的内容。
  1. 登录您的 wikijs 实例,对于撰写演示,您可能必须创建初始登录。只需记住在初始设置屏幕上将 url 设置为 http://localhost:3000 即可。
  2. 导航至管理仪表板。
  3. 点击搜索引擎
  4. 启用美丽搜索
  5. 根据需要调整 api 密钥和主机。
  6. 点击“应用”,如果没有收到绿色吐司消息,只需再次点击“应用”即可。发生这种情况的原因是创建索引时 meil​​isearch 中的任务停滞。

现在它的设置是什么?

现在您可以开始使用美丽搜索来搜索您的维基了!如果您有现有内容,您可以单击“重建”,它会将您的所有内容添加到 meilisearch! :)

当您正常使用 wikijs 时,它会在 meil​​isearch 中创建、更新和删除文档,作为正常页面渲染的一部分。

如果您想查看这方面的实时示例,在我的《龙与地下城》维基上我们已经集成了此功能。触手可及的角色数据或场景数据的瞬间回忆起来真是太神奇了。

关于实施的注意事项,目前建议与 who 行相匹配。将来,我会重写该段以截断并提出更小的建议。