Gahing's blog Gahing's blog
首页
知识体系
  • 前端基础
  • 应用框架
  • 工程能力
  • 应用基础
  • 专业领域
  • 业务场景
  • 前端晋升 (opens new window)
  • Git
  • 网络基础
  • 算法
  • 数据结构
  • 编程范式
  • 编解码
  • Linux
  • AIGC
  • 其他领域

    • 客户端
    • 服务端
    • 产品设计
软素质
  • 面试经验
  • 人生总结
  • 个人简历
  • 知识卡片
  • 灵感记录
  • 实用技巧
  • 知识科普
  • 友情链接
  • 美食推荐 (opens new window)
  • 收藏夹

    • 优质前端信息源 (opens new window)
关于
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

Gahing / francecil

To be best
首页
知识体系
  • 前端基础
  • 应用框架
  • 工程能力
  • 应用基础
  • 专业领域
  • 业务场景
  • 前端晋升 (opens new window)
  • Git
  • 网络基础
  • 算法
  • 数据结构
  • 编程范式
  • 编解码
  • Linux
  • AIGC
  • 其他领域

    • 客户端
    • 服务端
    • 产品设计
软素质
  • 面试经验
  • 人生总结
  • 个人简历
  • 知识卡片
  • 灵感记录
  • 实用技巧
  • 知识科普
  • 友情链接
  • 美食推荐 (opens new window)
  • 收藏夹

    • 优质前端信息源 (opens new window)
关于
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • 个人简历

  • 人生总结

  • 实用技巧

  • 影剧观感

  • 教育

  • 服务搭建

    • Code Server搭建指南
    • deepfake 项目搭建
    • 博客

      • 几款好看的博客主题
      • 博客收录注意事项
      • vuepress踩坑记录
      • 博客分类脑图生成
      • 博客评论踩坑记录
      • 博客配置全文搜索
        • Algolia 使用
          • 流程
          • 注意事项
        • 后续优化方案
          • 参考资料
      • 博客配置资源缓存
      • 如何部署博客
      • 给网站添加一只看板娘
    • 域名解析常见问题
  • 灵感记录
  • 理财投资

  • 生活常识

  • 知识科普

  • 自媒体

  • 面试经验

  • 闲言碎语
  • 服务搭建
  • 博客
gahing
2023-05-19
目录

博客配置全文搜索

vuepress 的内置搜索只会为页面的标题、h2 、 h3 以及 tags 构建搜索索引,无法达到全文搜索,详见 vuepress 内置搜索 (opens new window)

如果想全文搜索,有以下方案

  • Algolia: 第三方免费搜索服务;定期抓取博客内容(24h),也可以手动触发抓取。本博客目前采用方案
  • meilisearch: 基于 Algolia 开发的搜索服务,支持将博客主动部署到云服务进行搜索分词;免费版每个月 10k 的搜索限制
  • fulltext-sarch: 基于 flexsearch 方案,纯本地搜索。缺点是增加打包产物体积,可能会影响首屏
  • thirdparty-search: 第三方搜索,点击后跳转引擎搜索页面,没啥用

# Algolia 使用

# 流程

  1. 申请注册:https://docsearch.algolia.com/apply/ (opens new window),可能要等一段时间。我这里是申请了多次,前面几次都没回复,最后一次申请隔天就回复了。
  2. 申请成功后,可以按 vuepress 的文案配置 Algolia 搜索 (opens new window)

具体值可以看邮件或者平台,本博客的配置如下

themeConfig: {
  algolia: {
    apiKey: '9697875d39432384a444b570563811be',
      indexName: 'gahing',
        appId: '0QTGLFRP72',
  },
}
1
2
3
4
5
6
7

PS:此配置对外暴露无风险

  1. 之后在搜索框搜索即可

# 注意事项

如果开始搜索后发现数据始终返回空,那么此时就需要怀疑下是不是爬虫配置有问题了。

首先进到爬虫配置页 (opens new window) ,点击相应项目,观察 Overview

如果 Monitoring(爬取的页面) 有数据而 Indices (页面记录)没有数据,则说明爬虫配置有问题,比如下图

点击 Editor 面板进入爬虫配置。

这里 pathsToMatch 默认是 https://域名/docs/**,但由于我的页面地不是这个路径,故会提取错误。

对于我的项目,我改成了 https://域名/** ,然后点击右侧的 Run Test 进行测试,预期应该看到 records 输出,没问题后 save ,并回到 Overview 面板执行 Restart crawling

等待一段时间后会发现 Records 有数据了,此时搜索可以正常使用

# 后续优化方案

优化 fulltext-sarch 本地搜索方式,需要将资源进行异步加载

# 参考资料

  • Vuepress全文搜索终极版-algolia的开源实现meilisearch全接入指南 (opens new window)
  • VuePress 博客优化之开启 Algolia 全文搜索 (opens new window)
编辑 (opens new window)
上次更新: 2024/09/01, 23:56:56
博客评论踩坑记录
博客配置资源缓存

← 博客评论踩坑记录 博客配置资源缓存→

最近更新
01
浅谈代码质量与量化指标
08-27
02
快速理解 JS 装饰器
08-26
03
Vue 项目中的 data-v-xxx 是怎么生成的
09-19
更多文章>
Theme by Vdoing | Copyright © 2016-2024 Gahing | 闽ICP备19024221号-1
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式