Algolia - Docsearch的申請配置安裝【以踩坑解決版】

👨?🎓博主簡介

??🏅CSDN博客專家
??🏅云計算領域優質創作者
??🏅華為云開發者社區專家博主
??🏅阿里云開發者社區專家博主
💊交流社區:運維交流社區 歡迎大家的加入!
🐋 希望大家多多支持,我們一起進步!😄
🎉如果文章對你有幫助的話,歡迎 點贊 👍🏻 評論 💬 收藏 ?? 加關注+💗


文章目錄

    • 簡述
    • 配置
    • 注冊
    • 使用
      • 官方申請
      • 申請成功發送郵件
      • 調試爬取
      • 網站測試搜索
    • 配置完成 - 總結回顧

推薦我的網站此文章:https://liuchenyang.top/document/other/docsearch.html

簡述

文檔參考:

  • VitePress官方
  • VuePress 不用Algolia 全文搜索那就缺了靈魂

結合自己操作記錄來修改成vuepress-theme-hope主題的docsearch配置。

其實也有很多熱門的爬蟲搜索引擎,而Algolia的 Algolia DocSearch 是直接集成在VuePress中的,我們來看看有多么強大吧。

配置

這里配置的是vuepress主題的,最新版Hope主題自帶algolia插件,無需安裝,請在theme.ts里定位到plugins設置。

  • 插件版本注意事項

如果不是最新版本,在安裝@vuepress/plugin-docsearch插件的時候需要適配當前版本,具體是如何適配自己的版本不確定,只能在package.json配置文件中去修改版本號來試,然后我安裝了個70版本的,但是配置好之后搜索有點問題,問題:搜索的結果無法點擊,然后我就一點一點往上升級到了rc74的版本,就可以了,指定升級插件版本命令為:pnpm add -D @vuepress/plugin-docsearch@2.0.0-rc.74,安裝的時候會自動刪除原版本更新成配置文件中指定的版本或指定下載的版本,如果安裝好訪問頁面空白的話,大概率就是版本的問題。

  plugins: {docsearch:({appId: "<APP_ID>",apiKey: "<API_KEY>",indexName: "<INDEX_NAME>",locales: {"/": {placeholder: "搜索文檔",translations: {button: {buttonText: "搜索文檔",buttonAriaLabel: "搜索文檔",},modal: {searchBox: {resetButtonTitle: "清除查詢條件",resetButtonAriaLabel: "清除查詢條件",cancelButtonText: "取消",cancelButtonAriaLabel: "取消",},startScreen: {recentSearchesTitle: "搜索歷史",noRecentSearchesText: "沒有搜索歷史",saveRecentSearchButtonTitle: "保存至搜索歷史",removeRecentSearchButtonTitle: "從搜索歷史中移除",favoriteSearchesTitle: "收藏",removeFavoriteSearchButtonTitle: "從收藏中移除",},errorScreen: {titleText: "無法獲取結果",helpText: "你可能需要檢查你的網絡連接",},footer: {selectText: "選擇",navigateText: "切換",closeText: "關閉",searchByText: "搜索提供者",},noResultsScreen: {noResultsText: "無法找到相關結果",suggestedQueryText: "你可以嘗試查詢",reportMissingResultsText: "你認為該查詢應該有結果?",reportMissingResultsLinkText: "點擊反饋",},},},},},}),},

注冊

由于配置還缺關鍵Key,所以還需要注冊賬號,也方便我們后期對數據進行管理

進入 Algolia官網 ,點擊 Login 注冊賬號

可以選擇 NO ACCOUNT YET? ,也可以直接用GitHub和谷歌賬號關聯注冊

注冊比較簡單,就不講了

網站打不開,掛一個梯子即可

使用

請按自己的需求,參照下面教程,選其一使用

使用方式區別說明
官方申請
申請時需要提交鏈接、郵箱及倉庫(可選) ,等待周期較長,通過后會自動爬取,直接配置使用即可
Docker
需自備服務器且安裝好docker,有一定動手能力,需要每次手動爬取。步驟繁瑣本次不做演示
Github Actions
準備一個公開或者私密的倉庫,配置好爬蟲數據的格式,Actions自動爬取

官方申請

直接在 DocSearch官網,點 Apply 申請

打開后填寫網站地址、郵箱和倉庫地址(可選)等信息,然后勾選上下面三項,并提交即可。

等待跳轉成功就好,沒有跳轉,就掛個梯子

之后就靜待郵件,最快等待6-7小時,慢則半個多月,在郵件中會給我們一個邀請鏈接,復制并打開。
官方郵箱地址:support@algolia.com

申請成功發送郵件

申請成功之后,將郵件中的addIdapiKeyindexName值放到項目配置中。

就這么簡單么,so easy !當你以為一切順利萬事大吉的時候,然而,很可能你的全文搜索還不可以用。可能一搜還都是找不到結果,那這是為何呢,文章還未結束,配置還在進行,且往下看!

調試爬取

然后我們登陸 https://dashboard.algolia.com/apps/DJTP2DCRA4/dashboard 打開管理后臺,點擊左側選項欄里的 Search,進去后會有個彈窗按鈕,點 Accept 接受即可

沒有彈窗的,去郵箱復制邀請鏈接打開應該就有了;

這樣就自動完成了Application創建;

然后查看對應的 index 數據,如果 Browse 這里沒有顯示數據,那需要點擊這里的刷新看看,有數據即可;
如果刷新之后如果還是沒有顯示數據,那說明爬取的數據可能有問題,導致沒有生成對應的 Records


這個時候要使用官方工具進行調試,進入調試工具地址,打開調試臺,點擊進入爬蟲詳情;

進來之后在點擊 Overview 菜單,發現爬蟲數據是有的,但 Records 為 0,那大概是爬蟲提取數據的邏輯有問題;

點擊左側選項欄中的 Editor,查看具體的爬蟲邏輯,可以根據 vuepress 官方提供的模版參考查看問題:vuepress官方爬蟲配置,這里我是直接整個復制粘貼成官方的然后進行個別地方修改就可以了;

除了指定位置,其他不要亂改,特別是apikey不要改!和你申請的apikey不是同一個用途

如果你網址有別名解析或者重定向了,也只能用你申請時的網址

  • 官方爬蟲設置
new Crawler({appId: "YOUR_APP_ID",apiKey: "YOUR_API_KEY",rateLimit: 8,startUrls: [// 這是 Algolia 開始抓取網站的初始地址// 如果你的網站被分為數個獨立部分,你可能需要在此設置多個入口鏈接"https://YOUR_WEBSITE_URL/",],sitemaps: [// 如果你在使用 Sitemap 插件 (如: @vuepress/plugin-sitemap),你可以提供 Sitemap 鏈接"https://YOUR_WEBSITE_URL/sitemap.xml",],ignoreCanonicalTo: false,exclusionPatterns: [// 你可以通過它阻止 Algolia 抓取某些 URL],discoveryPatterns: [// 這是 Algolia 抓取 URL 的范圍"https://YOUR_WEBSITE_URL/**",],// 爬蟲執行的計劃時間,可根據文檔更新頻率設置schedule: "at 02:00 every 1 day",actions: [// 你可以擁有多個 action,特別是你在一個域名下部署多個文檔時{// 使用適當的名稱為索引命名indexName: "YOUR_INDEX_NAME",// 索引生效的路徑pathsToMatch: ["https://YOUR_WEBSITE_URL/**"],// 控制 Algolia 如何抓取你的站點recordExtractor: ({ $, helpers }) => {// 以下是適用于 vuepress-theme-hope 的默認選項選項return helpers.docsearch({recordProps: {lvl0: {selectors: [".vp-sidebar-link.active", "[vp-content] h1"],defaultValue: "Documentation",},lvl1: "[vp-content] h1",lvl2: "[vp-content] h2",lvl3: "[vp-content] h3",lvl4: "[vp-content] h4",lvl5: "[vp-content] h5",lvl6: "[vp-content] h6",content: "[vp-content] p, [vp-content] li",},recordVersion: "v3",});},},],initialIndexSettings: {// 控制索引如何被初始化,這僅當索引尚未生成時有效// 你可能需要在修改后手動刪除并重新生成新的索引YOUR_INDEX_NAME: {attributesForFaceting: ["type", "lang"],attributesToRetrieve: ["hierarchy", "content", "anchor", "url"],attributesToHighlight: ["hierarchy", "hierarchy_camel", "content"],attributesToSnippet: ["content:10"],camelCaseAttributes: ["hierarchy", "hierarchy_radio", "content"],searchableAttributes: ["unordered(hierarchy_radio_camel.lvl0)","unordered(hierarchy_radio.lvl0)","unordered(hierarchy_radio_camel.lvl1)","unordered(hierarchy_radio.lvl1)","unordered(hierarchy_radio_camel.lvl2)","unordered(hierarchy_radio.lvl2)","unordered(hierarchy_radio_camel.lvl3)","unordered(hierarchy_radio.lvl3)","unordered(hierarchy_radio_camel.lvl4)","unordered(hierarchy_radio.lvl4)","unordered(hierarchy_radio_camel.lvl5)","unordered(hierarchy_radio.lvl5)","unordered(hierarchy_radio_camel.lvl6)","unordered(hierarchy_radio.lvl6)","unordered(hierarchy_camel.lvl0)","unordered(hierarchy.lvl0)","unordered(hierarchy_camel.lvl1)","unordered(hierarchy.lvl1)","unordered(hierarchy_camel.lvl2)","unordered(hierarchy.lvl2)","unordered(hierarchy_camel.lvl3)","unordered(hierarchy.lvl3)","unordered(hierarchy_camel.lvl4)","unordered(hierarchy.lvl4)","unordered(hierarchy_camel.lvl5)","unordered(hierarchy.lvl5)","unordered(hierarchy_camel.lvl6)","unordered(hierarchy.lvl6)","content",],distinct: true,attributeForDistinct: "url",customRanking: ["desc(weight.pageRank)","desc(weight.level)","asc(weight.position)",],ranking: ["words","filters","typo","attribute","proximity","exact","custom",],highlightPreTag:'<span class="algolia-docsearch-suggestion--highlight">',highlightPostTag: "</span>",minWordSizefor1Typo: 3,minWordSizefor2Typos: 7,allowTyposOnNumericTokens: false,minProximity: 1,ignorePlurals: true,advancedSyntax: true,attributeCriteriaComputedByMinProximity: true,removeWordsIfNoResults: "allOptional",},},
});

配置完成后,點擊右上角的 save 進行保存在;然后找個自己的文檔的鏈接,粘貼到URL Tester里,點擊RUN Test測試下,看是否能成功,成功則進行下一步,否則繼續調整抓取規則,指導能抓取成功!如下圖,多測幾個鏈接,保證都可用。

鏈接測試完成后,可以在 Search Preview 里可以搜素看看,能搜索到自己的內容就可以了;

然后返回到 Overview 菜單, 點擊右上角的 Restart crawling 按鈕,重新進行抓取,爬取成功之后會發送郵件,文章少爬取的就快,成功后,下面的 Indices 欄會顯示 Records 數;

然后在返回點擊index回到algolia,看數據是否同步過來就可以了,前面做完沒問題這個同步正常也是會沒問題的;


網站測試搜索

此時再去自己的網站試試,應該就可以了,如果不行,就重復爬取一下數據,再等一等再試!


配置完成 - 總結回顧

對于 vuepress 來說,就是安裝個插件配置參數的事,可還是讓人耽誤了好些時間。官方文檔中并未對常見的一些問題予以說明,還需咱們自己踩坑,希望大家也能將自己日常踩的坑分享出來,避免更多的人,無休止的耗費精力。祝大家一切順利,所踩之坑,皆能被填平!
據說,點免費Star的人都被領導加雞腿了!😄 ToLiucyLinux私域源碼

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/80192.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/80192.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/80192.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

nginx 配置后端健康檢查模塊

nginx自帶的針對后端節點健康檢查的功能比較簡單,通過默認自帶的ngx_http_proxy_module 模塊和ngx_http_upstream_module模塊中的參數來完成,當后端節點出現故障時,自動切換到健康節點來提供訪問。但是nginx不能事先知道后端節點狀態是否健康,后端即使有不健康節點,負載均…

平板收銀系統、國產系統,鴻蒙系統,小鍵盤的封裝與應用—仙盟創夢IDE

數字小鍵盤封裝 數組小鍵盤封裝是指將與數組小鍵盤相關的功能、操作、數據等進行整合&#xff0c;形成一個獨立的、可復用的模塊。封裝數組小鍵盤具有以下幾方面重要意義&#xff1a; 提高代碼可維護性 降低復雜度&#xff1a;數組小鍵盤在實際應用中&#xff0c;可能涉及到…

網工實驗——OSPF配置

網絡拓撲圖 配置 1.為每個路由器配置接口&#xff08;略&#xff09;&#xff08;詳細見RIP實驗&#xff09; 2.配置OSPF AR1 [AR1]ospf [AR1-ospf-1]area 1 [AR1-ospf-1-area-0.0.0.1]network 172.16.1.1 0.0.0.0 #精確配置網絡&#xff0c;也可以像下面那條命令那樣配置 …

Kubernetes client-go 客戶端類型與初始化指南

Kubernetes client-go 客戶端類型與初始化指南 在 Kubernetes 的 client-go 庫中&#xff0c;存在多種客戶端用于與 API 服務器交互。以下介紹主要客戶端類型&#xff0c;包括用途、初始化方式及 Demo。 1. RESTClient 用途 RESTClient 是底層 REST 客戶端&#xff0c;直接…

java加強 -泛型

概念 定義類、接口、方法時&#xff0c;同時聲明了一個或多個類型變量&#xff08;如<E>&#xff09;&#xff0c;稱為泛型類、泛型接口、泛型方法、它們統稱為泛型。 語法 public class ArrayList<E>{} E可以接收不同類型的數據&#xff0c;可以是字符串&…

C++ 項目 -- 高并發內存池

目錄 項目介紹 內存池概念 池化技術 內存池 內存池主要解決的問題 malloc 定長內存池 申請內存 釋放內存 整體框架設計 thread cache 申請內存 釋放內存 central cache 申請內存 釋放內存 page cache 申請內存 釋放內存 大塊內存申請實現 定長內存…

高效C/C++之九:Coverity修復問題:關于數組操作 和 內存操作

【關注我&#xff0c;后續持續新增專題博文&#xff0c;謝謝&#xff01;&#xff01;&#xff01;】 上一篇我們講了&#xff1a; 這一篇我們開始講&#xff1a; 高效C/C之九&#xff1a;Coverity修復問題&#xff1a;關于數組操作 和 內存操作 目錄 【關注我&#xff0c;后…

vfrom表單設計器使用事件機制控制字段顯示隱藏

1. 使用表單設計器進行debug調試 依據 vform3.0開發者文檔 https://www.ganweicloud.com/docs/6.1.0/pages/d3e6d9/ 對switch組件設置事件邏輯 調試中

iPhone 和 Android 在日期格式方面的區別

整篇文章由iPhone 和 Android 在日期格式方面有所不同引起,大致介紹了,兩種時間標準,以及在 JavaScript 下的格式轉換方法。 Unix 時間戳是從1970年1月1日(UTC/GMT的午夜)開始所經過的秒數,不考慮閏秒。 iPhone 和 Android 在日期格式方面有所不同。其中,iPhone(iOS)使…

985高校查重率“隱性閾值”:低于5%可能被重點審查!

你是不是也以為&#xff1a; “查重率越低越好&#xff0c;最好壓到1%、0%&#xff0c;導師看了都感動哭&#x1f979;” 但是你不知道的是——在985/211等重點高校&#xff0c;查重率太低反而可能引起導師和學術辦公室的“特別關注”&#xff01; 今天就來扒一扒這個查重圈“…

【NLP】33. Pinecone + OpenAI :構建自定義語義搜索系統

Pinecone OpenAI 中文教學教程&#xff1a;構建自定義語義搜索系統 一、背景介紹 當下 AI 問答系統、矩陣檢索、短文本分類等場景中&#xff0c;都需要很好地實現 “根據輸入進行相似給點搜索”。這種算法基礎稱為 “向量搜索”&#xff0c;它的核心是將文本轉換為向量后&am…

【Mybatis-plus常用語法】

MyBatis-Plus 是 MyBatis 的增強工具&#xff0c;提供了很多便捷的功能來簡化開發。以下是一些 MyBatis-Plus 的常見語法&#xff1a; 實體類注解&#xff1a;使用 TableName 注解來指定實體類和數據庫表的映射關系。 TableName("user") public class User {privat…

Logback官方文檔翻譯章節目錄

Logback官方文檔翻譯章節目錄 第一章 Logback簡介 第二章 Logback的架構&#xff08;一&#xff09; Logback的架構&#xff08;二&#xff09; Logback的架構&#xff08;三&#xff09; 持續更新中…

Python變量作用域

變量作用域是Python編程中非常重要的基礎概念&#xff0c;理解它可以幫助你避免很多常見的錯誤。本文將用簡單易懂的方式&#xff0c;帶你全面掌握Python變量作用域的所有細節。 一、什么是變量作用域&#xff1f; 變量作用域&#xff08;Scope&#xff09;指的是變量在程序中…

初學者的AI智能體課程:構建AI智能體的十堂課

初學者的AI智能體課程:構建AI智能體的十堂課 在人工智能(AI)領域,AI智能體正在逐漸發揮其不容忽視的作用。自動化的智能體不僅僅在理論上廣泛討論,更加在實際應用中開辟了一片新的天地。那么如何動手開發屬于自己的AI智能體呢?Microsoft提供的AI智能體入門課正是為此而設…

【并發編程】MySQL鎖及單機鎖實現

目錄 一、MySQL鎖機制 1.1 按鎖粒度劃分 1.2 按鎖功能劃分 1.3 InnoDB鎖實現機制 (1)記錄鎖(Record Lock) (2) 間隙鎖(Gap Lock) (3) 臨鍵鎖(Next-Key Lock) (4) 插入意向鎖(Insert Intention Lock) 二、基于 JVM 本地鎖實現,保證線程安全 2.1 線程不安全的分析 2.1…

能耗優化新引擎:EIOT平臺助力企業降本增效

安科瑞顧強 數字化轉型的背景下&#xff0c;能源管理正加速向智能化、遠程化方向演進。安科瑞電氣推出的EIOT托管平臺及ADW300系列4G無線計量儀表&#xff0c;通過云端技術與無線通信的深度融合&#xff0c;為用戶打造了高效、便捷的遠程能源監測與管理體系&#xff0c;助力企…

(14)Element Plus項目綜合案例

本系列教程目錄&#xff1a;Vue3Element Plus全套學習筆記-目錄大綱 文章目錄 第3章 綜合案例3.1 搭建項目3.1.1 創建Vite工程3.1.2 配置路由 3.2 登錄模塊頁面3.2.1 注冊頁面3.2.2 登錄頁面3.2.3 忘記密碼頁面 3.3 導航設置3.3.1 頭部3.3.2 側邊欄與底部1&#xff09;頭像部分…

Webug4.0靶場通關筆記22- 第27關文件包含

目錄 一、文件包含 1、原理分析 2、文件包含函數 &#xff08;1&#xff09;include( ) &#xff08;2&#xff09;include_once( ) &#xff08;3&#xff09;require( ) &#xff08;4&#xff09;require_once( ) 二、第27關滲透實戰 1、打開靶場 2、源碼分析 3、…

〖 Linux 〗解決 VS Code 遠程連接服務器的常見問題

文章目錄 解決 VS Code 遠程連接服務器的斷開問題VS Code Remote-SSH一直彈出輸入密碼的問題VsCode C 語法檢測失效不標紅色波浪線 解決辦法卸載擴展方式&#xff1a; 解決vscode C智能提示緩慢 解決 VS Code 遠程連接服務器的斷開問題 解決 vscode 卡頓&#xff0c;卡死&…