分享好友 最新动态首页 最新动态分类 切换频道
docusaurus如何添加一个搜索功能
2024-12-26 13:13

如果algolia不能自动配置的话,我教你手动给docusaurus添加一个搜索

新版博客用docusaurus重构已经有些日子了,根据docusaurus的文档上也申请了Algolia,想一劳永逸的解决博客的搜索问题。但是流水有意,落花无情。

algolia总是不给我回复,我只能对着algolia的申请页面仰天长叹。

按照docusaurus官方文档上说的,当我们需要搜索的时候,打开https://docsearch.algolia.com/apply/填一下申请,提交就行了。

但是可惜的是,我填好资料,点这个join the program很多次了,就是没有反应。

怎么办呢?我仔细检查了它的官方文档,看他的描述说是需要等待2个星期。但是2个星期实在太久了,在我们只争朝夕的今天,怎么行。

还好,我看到它还有一种手动上传的办法,笨是笨了点,总比没有的好。那就开始吧。

首先我们得去Algolia上注册一个账号,然后在这里需要创建一个应用:

应用的旁边,需要创建一个index用来存储搜索数据:

这样,前期的准备工作就做好了。

再在api设置中找到APPLICATION_ID和API_KEY。把他们保存到.env文件中:

APPLICATION_ID=YOUR_APP_ID
API_KEY=YOUR_API_KEY

注意,这里的API_KEY最好是Admin API Key,因为会有一些权限需要。

如果是Admin API Key的话,记得不要分享给别人,这个key的权限比较大,可以删除和更新你的index数据。

接下来,我们还需要一个配置文件。用来配置爬虫信息。下面是一个最基本的配置信息。

其中index_name就是我们刚刚在网站上创建的index_name。当DocSearch scraper程序跑起来的时候,你会发现有一个临时的 + _tmp 索引被创建。

别担心,在程序执行完毕之后,会把这个tmp index会替换最终的index。

start_urls包含的是要开始爬取的链接地址。爬虫会循环爬取链接里面的a标签,除非是遇到了stop_urls。另外爬虫不会爬取其他域名的链接。

selectors是用于创建记录层次结构的所有 CSS 选择器。其中text是强制,必须要有的。

如果你对不同的url有不同的selector方案,那么可以给不同的url配置不同的selectors_key,如下所示:

好了,基本的配置就这些了。

现在可以运行爬虫脚本了,这里有两个选择,一是跑docker,方便快捷。二是从源代码运行,这个就比较麻烦了。

这里我只是希望博客可以有搜索功能,所以源码什么的就算了吧,我们直接跑docker命令:

过一会就运行起来了。但是我们看看日志:

DocSearch: http://www.flydean.com/07-python-module/ 0 records)
DocSearch: http://www.flydean.com/08-python-io/ 0 records)
DocSearch: http://www.flydean.com/09-python-error-exception/ 0 records)
DocSearch: http://www.flydean.com/06-python-data-structure/ 0 records)

Crawling issue: nbHits 0 for myblog

nb_hits表示的是DocSearch 提取和索引的记录数。

怎么是0 records?难道什么都没有爬到?

直觉是我的start_urls不太对,我们把它换成sitemap.xml再试一次:

还是同样的错误。

没办法,再去仔细读一下配置文件的说明。

终于发现了问题,原来这里的selectors写的有问题,#content header h1表示的是在ID为的元素内部,寻找所有属于类的元素,并在这些元素内部寻找所有的元素。但是在docusaurus V3版本中已经发生了变化。

我们把它改写成这样:

再运行一次,这次终于有数据了。

回到网站上看看,已经有数据上传上来了:

好了,我们在docusaurus.config.ts中配置一下,看看效果:

我们在网站上试试效果:

完美,遇到问题的小伙伴可以私信我哟!

最新文章
AI绘画神器:一键生成超逼真美女写真,实用指南大揭秘!
第一步:访问工具 在你的手机或电脑上,搜索“搜狐简单AI”,点击进入相关的工具页面,或直接在微信小程序中搜索。这样,你便可以进入生成界面,开始你的创作之旅。第二步:选择类型 在生成页面,你会看到多种生成选项。选择“美女写真”类
2020十大最贵智能手机排名重磅发布,克里特名列第二!
创作立场声明:贵得有道理是我们日常生活中的一项主要要求。从世界上最便宜的手机到世界上最昂贵的手机,移动电话甚至价格差别很大。在当今社会,一个人的手机是他进入生活中所有事情的门户。随着最近技术的进步,现在看起来好像你的手机可
ai绘画生成器二次元图片怎么制作?
(1)方便制作出高质量的图像,使其生成的图像拥有更好的质感和清晰度,对图片分辨率有要求的小伙伴们选它就行啦!(2)提供了多种创作风格,我们可以根据自己的喜好生成制作不同类型的图像,包括人物、物体、场景等。2.一键AI绘画注意啦注
2024年排列三336期[明日之星]免费分析预测
根据一定牛排三开奖走势图综合分析:回顾:上期开出499 组三形态大小形态为小大大,大小比为2:1,奇偶形态为偶奇奇,质合形态为合合合,质合比为:0:3,和值为22点,和尾为2点,跨度为5。24336期排列三免费推荐预测:上期奇偶比开出2:1,奇数
java Long 倒序排序
在Java编程中,经常需要对数据进行排序。对于一组Long类型的数据,有时候需要按照倒序进行排序。本文将介绍如何使用Java来对Long类型的数据进行倒序排序,并提供相应的代码示例。Long是Java中的一种基本数据类型,用于表示整型数据。它占用
2025年百度SEM竞价开户托管全攻略:高效运营秘诀
在2025年,百度SEM竞价开户依然是众多企业获取线上流量的重要手段。百度SEM(Search Engine Marketing)即搜索引擎营销,通过竞价排名的方式,让企业的广告在搜索结果页面获得更高的展示位置,从而吸引潜在客户的点击。开户过程涉及资质审
AI机器人小程序 - 开发全面指南如何?
AI机器人小程序 - 开发全面指南如何? 基于 4 个搜索来源搜索网页 AI机器人小程序开发全面指南找到 4 个搜索来源 微搭低代码xChatGPT,五步搭建AI聊天机器人小程序-腾讯云腾讯云1基于百度UNIT的微信智能问答聊天机器人小程序CSDN2零基础:如
360协商延期还款容易吗?了解流程与注意事项
360协商延期还款容易吗小编导语在现代社会中,个人和家庭的财务状况受到多种因素的影响,例如经济环境、个人收入和支出、突发事件等。面对这些不确定性,许多人可能会面临还款压力。尤其是在贷款、信用卡等债务未能按时偿还的情况下,及时
2024年智能机器概念利好什么公司(12月16日)
  据南方财富网概念查询工具数据显示,智能机器公司有:  长虹华意:12月16日消息,长虹华意截至13时32分,该股报7.740元,涨0.52%,3日内股价上涨0.26%,总市值为53.87亿元。  长虹华意2023年实现营业收入128.89亿元,同比增长-1.58
AI生成美女写真:打造你的虚拟女友,轻松一步到位!
在这个数字化迅猛发展的时代,AI不仅改变了我们的生活方式,还影响着我们的审美体验。想象一下,如果你能够拥有一个由AI生成的超级逼真的美女写真,岂不是既能丰富你的社交媒体,又能满足你的创造欲望?无论是为自己制作个性化头像,还是为
相关文章
推荐文章
发表评论
0评