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

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

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

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]刪除
最新教學 更多>
  • 在Ubuntu/linux上安裝mysql-python時,如何修復\“ mysql_config \”錯誤?
    在Ubuntu/linux上安裝mysql-python時,如何修復\“ mysql_config \”錯誤?
    mysql-python安裝錯誤:“ mysql_config找不到”“ 由於缺少MySQL開發庫而出現此錯誤。解決此問題,建議在Ubuntu上使用該分發的存儲庫。使用以下命令安裝Python-MysqldB: sudo apt-get安裝python-mysqldb sudo pip in...
    程式設計 發佈於2025-07-18
  • 為什麼不````''{margin:0; }`始終刪除CSS中的最高邊距?
    為什麼不````''{margin:0; }`始終刪除CSS中的最高邊距?
    在CSS 問題:不正確的代碼: 全球範圍將所有餘量重置為零,如提供的代碼所建議的,可能會導致意外的副作用。解決特定的保證金問題是更建議的。 例如,在提供的示例中,將以下代碼添加到CSS中,將解決餘量問題: body H1 { 保證金頂:-40px; } 此方法更精確,避免了由全局保證金重置...
    程式設計 發佈於2025-07-18
  • 可以在純CS中將多個粘性元素彼此堆疊在一起嗎?
    可以在純CS中將多個粘性元素彼此堆疊在一起嗎?
    [2这里: https://webthemez.com/demo/sticky-multi-header-scroll/index.html </main> <section> { display:grid; grid-template-...
    程式設計 發佈於2025-07-18
  • 如何在鼠標單擊時編程選擇DIV中的所有文本?
    如何在鼠標單擊時編程選擇DIV中的所有文本?
    在鼠標上選擇div文本單擊帶有文本內容,用戶如何使用單個鼠標單擊單擊div中的整個文本?這允許用戶輕鬆拖放所選的文本或直接複製它。 在單個鼠標上單擊的div元素中選擇文本,您可以使用以下Javascript函數: function selecttext(canduterid){ if(d...
    程式設計 發佈於2025-07-18
  • 我可以將加密從McRypt遷移到OpenSSL,並使用OpenSSL遷移MCRYPT加密數據?
    我可以將加密從McRypt遷移到OpenSSL,並使用OpenSSL遷移MCRYPT加密數據?
    將我的加密庫從mcrypt升級到openssl 問題:是否可以將我的加密庫從McRypt升級到OpenSSL?如果是這樣,如何? 答案:是的,可以將您的Encryption庫從McRypt升級到OpenSSL。 可以使用openssl。 附加說明: [openssl_decrypt()函數要求...
    程式設計 發佈於2025-07-18
  • 為什麼使用Firefox後退按鈕時JavaScript執行停止?
    為什麼使用Firefox後退按鈕時JavaScript執行停止?
    導航歷史記錄問題:JavaScript使用Firefox Back Back 此行為是由瀏覽器緩存JavaScript資源引起的。要解決此問題並確保在後續頁面訪問中執行腳本,Firefox用戶應設置一個空功能。 警報'); }; alert('inline Alert')...
    程式設計 發佈於2025-07-18
  • 如何從PHP中的數組中提取隨機元素?
    如何從PHP中的數組中提取隨機元素?
    從陣列中的隨機選擇,可以輕鬆從數組中獲取隨機項目。考慮以下數組:; 從此數組中檢索一個隨機項目,利用array_rand( array_rand()函數從數組返回一個隨機鍵。通過將$項目數組索引使用此鍵,我們可以從數組中訪問一個隨機元素。這種方法為選擇隨機項目提供了一種直接且可靠的方法。
    程式設計 發佈於2025-07-18
  • 如何干淨地刪除匿名JavaScript事件處理程序?
    如何干淨地刪除匿名JavaScript事件處理程序?
    刪除匿名事件偵聽器將匿名事件偵聽器添加到元素中會提供靈活性和簡單性,但是當要刪除它們時,可以構成挑戰,而無需替換元素本身就可以替換一個問題。 element? element.addeventlistener(event,function(){/在這里工作/},false); 要解決此問題,請考...
    程式設計 發佈於2025-07-18
  • 將圖片浮動到底部右側並環繞文字的技巧
    將圖片浮動到底部右側並環繞文字的技巧
    在Web設計中圍繞在Web設計中,有時可以將圖像浮動到頁面右下角,從而使文本圍繞它纏繞。這可以在有效地展示圖像的同時創建一個吸引人的視覺效果。 css位置在右下角,使用css float and clear properties: img { 浮點:對; ...
    程式設計 發佈於2025-07-18
  • 為什麼我會收到MySQL錯誤#1089:錯誤的前綴密鑰?
    為什麼我會收到MySQL錯誤#1089:錯誤的前綴密鑰?
    mySQL錯誤#1089:錯誤的前綴鍵錯誤descript [#1089-不正確的前綴鍵在嘗試在表中創建一個prefix鍵時會出現。前綴鍵旨在索引字符串列的特定前綴長度長度,可以更快地搜索這些前綴。 了解prefix keys `這將在整個Movie_ID列上創建標準主鍵。主密鑰對於唯一識...
    程式設計 發佈於2025-07-18
  • 如何有效地選擇熊貓數據框中的列?
    如何有效地選擇熊貓數據框中的列?
    在處理數據操作任務時,在Pandas DataFrames 中選擇列時,選擇特定列的必要條件是必要的。在Pandas中,選擇列的各種選項。 選項1:使用列名 如果已知列索引,請使用ILOC函數選擇它們。請注意,python索引基於零。 df1 = df.iloc [:,0:2]#使用索引0和1 ...
    程式設計 發佈於2025-07-18
  • Go語言垃圾回收如何處理切片內存?
    Go語言垃圾回收如何處理切片內存?
    Garbage Collection in Go Slices: A Detailed AnalysisIn Go, a slice is a dynamic array that references an underlying array.使用切片時,了解垃圾收集行為至關重要,以避免潛在的內存洩...
    程式設計 發佈於2025-07-18
  • 用戶本地時間格式及時區偏移顯示指南
    用戶本地時間格式及時區偏移顯示指南
    在用戶的語言環境格式中顯示日期/時間,並使用時間偏移在向最終用戶展示日期和時間時,以其localzone and格式顯示它們至關重要。這確保了不同地理位置的清晰度和無縫用戶體驗。以下是使用JavaScript實現此目的的方法。 方法:推薦方法是處理客戶端的Javascript中的日期/時間格式化和...
    程式設計 發佈於2025-07-18
  • 如何從Python中的字符串中刪除表情符號:固定常見錯誤的初學者指南?
    如何從Python中的字符串中刪除表情符號:固定常見錯誤的初學者指南?
    從python import codecs import codecs import codecs 導入 text = codecs.decode('這狗\ u0001f602'.encode('utf-8'),'utf-8') 印刷(文字)#帶有...
    程式設計 發佈於2025-07-18
  • 左連接為何在右表WHERE子句過濾時像內連接?
    左連接為何在右表WHERE子句過濾時像內連接?
    左JOIN CONUNDRUM:WITCHING小時在數據庫Wizard的領域中變成內在的加入很有趣,當將c.foobar條件放置在上面的Where子句中時,據說左聯接似乎會轉換為內部連接。僅當滿足A.Foo和C.Foobar標準時,才會返回結果。 為什麼要變形?關鍵在於其中的子句。當左聯接的右側...
    程式設計 發佈於2025-07-18

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

Copyright© 2022 湘ICP备2022001581号-3