」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 如何將美麗搜尋與 WikiJS 結合使用

如何將美麗搜尋與 WikiJS 結合使用

發佈於2024-09-02
瀏覽:698

How to use Meilisearch with WikiJS

總長DR

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

軟體

什麼是美麗搜索

Meilisearch 是一個為速度和簡單性而建立的開源搜尋引擎。它用 Rust 編寫,旨在以最少的配置提供快速、相關的搜尋結果。 Meilisearch 擅長全文搜索,並且針對效能進行了最佳化,即使對於大型資料集也是如此。它支援開箱即用的功能,例如拼字錯誤容忍和可自訂的相關性排名。

美麗搜尋連結

什麼是 WikiJS

Wiki.js 是一款現代化的開源 wiki 軟體,為管理和分享內容提供了強大且靈活的平台。它基於 Node.js 構建,設計輕量、快速且易於使用,具有時尚直覺的介面,適合所有技能水平的用戶使用。

連結至 Wikijs

如何整合兩者

先決條件

  • 美麗搜尋運行實例
  • 運行 wikijs 實例

如果你沒有這些,你可以使用這個docker compose。

使用 docker 撰寫

  1. 將 docker compose 下載到目錄中。
  2. 建立一個名為pkg的資料夾
  3. 建立一個名為 tmp 的資料夾
  4. 建立一個名為config的資料夾。
  5. 在設定資料夾中,對於此演示,下載此配置
  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​​search 中建立、更新和刪除文檔,作為正常頁面渲染的一部分。

如果您想查看這方面的即時範例,在我的《龍與地下城》維基上,我們已經整合了此功能。觸手可及的角色數據或場景數據的瞬間回憶起來真是太神奇了。

關於實施的注意事項,目前建議與 who 行相符。將來,我會重寫該段落以截斷並提供更小的建議。

版本聲明 本文轉載於:https://dev.to/mbround18/how-to-use-meilisearch-with-wikijs-5g3b?1如有侵犯,請聯絡[email protected]刪除
最新教學 更多>
  • Python環境變量的訪問與管理方法
    Python環境變量的訪問與管理方法
    Accessing Environment Variables in PythonTo access environment variables in Python, utilize the os.environ object, which represents a mapping of envir...
    程式設計 發佈於2025-05-25
  • 表單刷新後如何防止重複提交?
    表單刷新後如何防止重複提交?
    在Web開發中預防重複提交 在表格提交後刷新頁面時,遇到重複提交的問題是常見的。要解決這個問題,請考慮以下方法: 想像一下具有這樣的代碼段,看起來像這樣的代碼段:)){ //數據庫操作... 迴聲“操作完成”; 死(); } ? > ...
    程式設計 發佈於2025-05-25
  • 編譯器報錯“usr/bin/ld: cannot find -l”解決方法
    編譯器報錯“usr/bin/ld: cannot find -l”解決方法
    錯誤:“ usr/bin/ld:找不到-l “ 此錯誤表明鏈接器在鏈接您的可執行文件時無法找到指定的庫。為了解決此問題,我們將深入研究如何指定庫路徑並將鏈接引導到正確位置的詳細信息。 添加庫搜索路徑的一個可能的原因是,此錯誤是您的makefile中缺少庫搜索路徑。要解決它,您可以在鏈接器命令中添...
    程式設計 發佈於2025-05-25
  • 大批
    大批
    [2 數組是對象,因此它們在JS中也具有方法。 切片(開始):在新數組中提取部分數組,而無需突變原始數組。 令ARR = ['a','b','c','d','e']; // USECASE:提取直到索引作...
    程式設計 發佈於2025-05-25
  • 如何有效地轉換PHP中的時區?
    如何有效地轉換PHP中的時區?
    在PHP 利用dateTime對象和functions DateTime對象及其相應的功能別名為時區轉換提供方便的方法。例如: //定義用戶的時區 date_default_timezone_set('歐洲/倫敦'); //創建DateTime對象 $ dateTime = ne...
    程式設計 發佈於2025-05-25
  • 在GO中構造SQL查詢時,如何安全地加入文本和值?
    在GO中構造SQL查詢時,如何安全地加入文本和值?
    在go中構造文本sql查詢時,在go sql queries 中,在使用conting and contement和contement consem per時,尤其是在使用integer per當per當per時,per per per當per. [&​​&&&&&&&&&&&&&&&默元組方法在...
    程式設計 發佈於2025-05-25
  • Go語言如何動態發現導出包類型?
    Go語言如何動態發現導出包類型?
    與反射軟件包中的有限類型的發現能力相反,本文探討了在運行時發現所有包裝類型(尤其是struntime go import( “ FMT” “去/進口商” ) func main(){ pkg,err:= incorter.default()。導入(“ time”) ...
    程式設計 發佈於2025-05-25
  • 用戶本地時間格式及時區偏移顯示指南
    用戶本地時間格式及時區偏移顯示指南
    在用戶的語言環境格式中顯示日期/時間,並使用時間偏移在向最終用戶展示日期和時間時,以其localzone and格式顯示它們至關重要。這確保了不同地理位置的清晰度和無縫用戶體驗。以下是使用JavaScript實現此目的的方法。 方法:推薦方法是處理客戶端的Javascript中的日期/時間格式化和...
    程式設計 發佈於2025-05-25
  • 解決MySQL插入Emoji時出現的\\"字符串值錯誤\\"異常
    解決MySQL插入Emoji時出現的\\"字符串值錯誤\\"異常
    Resolving Incorrect String Value Exception When Inserting EmojiWhen attempting to insert a string containing emoji characters into a MySQL database us...
    程式設計 發佈於2025-05-25
  • 如何將MySQL數據庫添加到Visual Studio 2012中的數據源對話框中?
    如何將MySQL數據庫添加到Visual Studio 2012中的數據源對話框中?
    在Visual Studio 2012 儘管已安裝了MySQL Connector v.6.5.4,但無法將MySQL數據庫添加到實體框架的“ DataSource對話框”中。為了解決這一問題,至關重要的是要了解MySQL連接器v.6.5.5及以後的6.6.x版本將提供MySQL的官方Visual...
    程式設計 發佈於2025-05-25
  • 為什麼我會收到MySQL錯誤#1089:錯誤的前綴密鑰?
    為什麼我會收到MySQL錯誤#1089:錯誤的前綴密鑰?
    mySQL錯誤#1089:錯誤的前綴鍵錯誤descript [#1089-不正確的前綴鍵在嘗試在表中創建一個prefix鍵時會出現。前綴鍵旨在索引字符串列的特定前綴長度長度,以便更快地搜索這些前綴。 理解prefix keys `這將在整個Movie_ID列上創建標準主鍵。主密鑰對於唯一識...
    程式設計 發佈於2025-05-25
  • 將圖片浮動到底部右側並環繞文字的技巧
    將圖片浮動到底部右側並環繞文字的技巧
    在Web設計中圍繞在Web設計中,有時可以將圖像浮動到頁面右下角,從而使文本圍繞它纏繞。這可以在有效地展示圖像的同時創建一個吸引人的視覺效果。 css位置在右下角,使用css float and clear properties: img { 浮點:對; ...
    程式設計 發佈於2025-05-25
  • Python元類工作原理及類創建與定制
    Python元類工作原理及類創建與定制
    python中的metaclasses是什麼? Metaclasses負責在Python中創建類對象。就像類創建實例一樣,元類也創建類。他們提供了對類創建過程的控制層,允許自定義類行為和屬性。 在Python中理解類作為對象的概念,類是描述用於創建新實例或對象的藍圖的對象。這意味著類本身是使用...
    程式設計 發佈於2025-05-25
  • 如何從Python中的字符串中刪除表情符號:固定常見錯誤的初學者指南?
    如何從Python中的字符串中刪除表情符號:固定常見錯誤的初學者指南?
    從python import codecs import codecs import codecs 導入 text = codecs.decode('這狗\ u0001f602'.encode('utf-8'),'utf-8') 印刷(文字)#帶有...
    程式設計 發佈於2025-05-25

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3