Meilisearch v1.14 发布了 ✨ 在我们的博客上阅读更多内容

转到主页Meilisearch 的徽标
返回文章

在免费的 Slack 计划中保存和搜索您的 Slack 历史记录

Charles Giardina
Charles GiardinaMeilisearch 团队
Save and search through your Slack history on a free Slack plan

最初发布于 Airbyte 网站

概述

Slack 免费层级仅保存最近 1 万条消息。对于社交 Slack 实例,升级到付费计划以保留这些消息可能不切实际。同样,对于像 Airbyte 这样的开源项目,我们通过公共 Slack 实例与社区互动,为每位 Slack 成员付费席位的成本过高。

然而,搜索旧消息可能真的很有帮助。丢失这些历史记录感觉像是某种高级形式的失忆症。关于 Java 8 Streams 的那个笑话是什么?这个贡献者问题听起来很熟悉——我们以前见过吗?但你就是记不起来了!

本教程将向您展示如何免费使用 Airbyte 保存这些消息(即使在 Slack 删除对它们的访问权限之后)。它还将为您提供一种方便的方式来搜索它们。

具体来说,我们将把 Slack 实例中的消息导出到一个名为 Meilisearch 的开源搜索引擎中。我们将专注于让这个设置在您的本地工作站上运行起来。我们将在最后提及如何设置这个管道的更生产化的版本。

我们希望使这个过程变得容易,所以虽然我们会链接到一些外部文档以供进一步探索,但我们将在此处提供您需要的所有说明,以便启动并运行它。

设置 Meilisearch

首先,让我们在我们的工作站上运行 Meilisearch。Meilisearch 提供了丰富的文档,用于 入门。但是,对于本教程,我们将为您提供使用 Docker 设置 Meilisearch 所需的所有说明。

docker run -it --rm 
  -p 7700:7700 
  -v $(pwd)/data.ms:/data.ms 
  getmeili/meilisearch

就是这样!

Meilisearch 将数据存储在 $(pwd)/data.ms 中,因此如果您希望将其存储在其他位置,只需调整此路径即可。

如何将您的 Slack 消息复制到 Meilisearch

设置 Airbyte

确保您已安装 Docker 和 Docker Compose。如果您尚未设置 Docker,请按照此处的说明在您的机器上进行设置。然后,运行以下命令

git clone https://github.com/airbytehq/airbyte.git
cd airbyte
docker-compose up

如果您遇到任何问题,请随时查看我们更全面的入门指南以获得更多帮助。

一旦您看到 Airbyte 横幅,UI 就可以在 http://localhost:8000/ 上使用了。设置好用户偏好后,您将被带到一个页面,要求您设置源。在下一步中,我们将介绍如何执行此操作。

设置 Airbyte 的 Slack 源连接器

在 Airbyte UI 中,从下拉列表中选择 Slack。我们在 Airbyte 此处提供了设置 Slack 源的分步说明。这些说明将引导您完成此页面上的表单。

按照这些说明结束时,您应该已经在 Airbyte UI 中创建了一个 Slack 源。目前,只需将您的 Slack 应用程序添加到单个公共频道(稍后您可以将其添加到更多频道)。只有来自该频道的消息才会被复制。

Airbyte 应用程序现在将提示您设置目标。接下来,我们将逐步介绍如何设置 Meilisearch。

设置 Airbyte 的 Meilisearch 目标连接器

回到 Airbyte UI。它应该仍然提示您设置目标。从下拉列表中选择“Meilisearch”。对于主机字段,设置为:http://localhost:7700。api_key 可以留空。

设置复制

在下一页上,系统将要求您选择要复制的数据流。我们建议取消选中“files”和“remote files”,因为您实际上无法在这个搜索引擎中轻松搜索它们。

对于频率,我们建议每 24 小时。

搜索 Meilisearch

连接保存后,Airbyte 应该立即开始复制数据。完成时,您应该看到以下内容

同步完成后,您可以通过向 Meilisearch 发出搜索请求来初步检查这一切是否正常工作。复制可能需要几分钟,具体取决于您的 Slack 实例的大小。

curl 'http://localhost:7700/indexes/messages/search' --data '{ "q": "<search-term>" }'

例如,我在我复制的消息之一中包含以下消息:welcome to airbyte..

curl 'http://localhost:7700/indexes/messages/search' --data '{ "q": "welcome to" }'
# => {"hits":[{"_ab_pk":"7ff9a858_6959_45e7_ad6b_16f9e0e91098","channel_id":"C01M2UUP87P","client_msg_id":"77022f01-3846-4b9d-a6d3-120a26b2c2ac","type":"message","text":"welcome to airbyte.","user":"U01AS8LGX41","ts":"2021-02-05T17:26:01.000000Z","team":"T01AB4DDR2N","blocks":[{"type":"rich_text"}],"file_ids":[],"thread_ts":"1612545961.000800"}],"offset":0,"limit":20,"nbHits":2,"exhaustiveNbHits":false,"processingTimeMs":21,"query":"test-72"}

通过 UI 搜索

对 Slack 历史记录进行 curl 请求搜索有点笨拙,因此我们修改了 Meilisearch 在他们的文档中提供的示例 UI,以搜索 Slack 结果。

将此 html 文件下载(或复制并粘贴)到您的工作站。然后,使用浏览器打开它。您现在应该能够在搜索栏中写入搜索词并立即获得结果!

“生产化”保存 Slack 历史记录

您可以在此处找到有关如何在各种云平台上托管 Airbyte 的说明。

有关如何在云平台上托管 Meilisearch 的文档,请访问此处

如果您想使用上面部分中提到的 UI,我们建议将其静态托管在 S3、GCS 或同等产品上。

Meilisearch indexes embeddings 7x faster with binary quantization

Meilisearch 使用二进制量化技术将嵌入向量索引速度提高 7 倍

通过使用向量存储 Arroy 实现二进制量化,在保持搜索相关性和效率的同时,大大减少了大型嵌入向量的磁盘空间使用量和索引时间。

Tamo
Tamo29 Nov 2024
How to add AI-powered search to a React app

如何在 React 应用程序中添加 AI 驱动的搜索

使用 Meilisearch 的 AI 驱动的搜索构建一个 React 电影搜索和推荐应用程序。

Carolina Ferreira
Carolina Ferreira24 Sept 2024
Meilisearch is too slow

Meilisearch 太慢了

在这篇博文中,我们探讨了 Meilisearch 文档索引器所需的增强功能。我们将讨论当前的索引引擎、其缺点以及优化性能的新技术。

Clément Renault
Clément Renault20 Aug 2024