AI 驅動的混合搜尋目前為封閉測試階段。 加入候補名單 以取得搶先體驗!

前往首頁Meilisearch 的標誌
返回文章
2021 年 2 月 24 日

在免費的 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 即可在 https://127.0.0.1:8000/ 上使用。設定好您的使用者偏好設定後,您將進入一個要求您設定來源的頁面。在下一步中,我們將說明如何進行設定。

設定 Airbyte 的 Slack 來源連接器

在 Airbyte UI 中,從下拉式選單中選擇 Slack。我們在 這裡提供了在 Airbyte 中設定 Slack 來源的逐步說明。這些說明將引導您完成此頁面上的表單。

依照這些指示完成後,您應該已在 Airbyte UI 中建立了一個 Slack 來源。目前,只需將您的 Slack 應用程式新增到單個公共頻道(您稍後可以將其新增到更多頻道)。只會複製該頻道中的訊息。

Airbyte 應用程式現在將提示您設定目的地。接下來,我們將逐步說明如何設定 Meilisearch。

設定 Airbyte 的 Meilisearch 目的地連接器

返回到 Airbyte UI。它應該仍然提示您設定目的地。從下拉式選單中選擇「Meilisearch」。對於主機欄位,請設定:https://127.0.0.1:7700。api_key 可以保留空白。

設定複製

在下一頁中,系統會要求您選擇要複製的資料串流。我們建議取消勾選「檔案」和「遠端檔案」,因為您無法在這個搜尋引擎中輕鬆搜尋它們。

對於頻率,我們建議每 24 小時一次。

搜尋 Meilisearch

儲存連線後,Airbyte 應立即開始複製資料。完成後,您應該會看到以下內容

同步完成後,您可以透過向 Meilisearch 發出搜尋請求來檢查這一切是否正常運作。複製可能需要數分鐘,具體取決於您的 Slack 實例大小。

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

例如,我在我複製的訊息之一中有以下訊息:welcome to airbyte..

curl 'https://127.0.0.1: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 或同等服務上。

How to add AI-powered search to a React app

如何將 AI 驅動的搜尋功能新增到 React 應用程式中

使用 Meilisearch 的 AI 驅動搜尋建立 React 電影搜尋和推薦應用程式。

Carolina Ferreira
Carolina Ferreira2024 年 9 月 24 日
Build your Next.js Shopify storefront with Blazity

使用 Blazity 建立您的 Next.js Shopify 店面

學習如何使用 Next.js 和 Blazity 商務入門套件建立 Shopify 店面。

Laurent Cazanove
Laurent Cazanove2024 年 8 月 19 日
Meilisearch 1.8

Meilisearch 1.8

Meilisearch 1.8 帶來了負關鍵字搜尋、搜尋穩健性和 AI 搜尋方面的改進,包括新的嵌入器。

Carolina Ferreira
Carolina Ferreira2024 年 5 月 7 日