惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Stack Overflow Blog
Stack Overflow Blog
D
Darknet – Hacking Tools, Hacker News & Cyber Security
爱范儿
爱范儿
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
有赞技术团队
有赞技术团队
罗磊的独立博客
博客园 - 三生石上(FineUI控件)
小众软件
小众软件
L
LINUX DO - 最新话题
T
Troy Hunt's Blog
博客园_首页
量子位
Jina AI
Jina AI
S
SegmentFault 最新的问题
IT之家
IT之家
Hacker News - Newest:
Hacker News - Newest: "LLM"
大猫的无限游戏
大猫的无限游戏
N
News | PayPal Newsroom
P
Proofpoint News Feed
Cyberwarzone
Cyberwarzone
S
Securelist
Google Online Security Blog
Google Online Security Blog
P
Privacy International News Feed
博客园 - Franky
美团技术团队
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
NISL@THU
NISL@THU
C
Cisco Blogs
V
Vulnerabilities – Threatpost
腾讯CDC
The Hacker News
The Hacker News
K
Kaspersky official blog
C
Cyber Attacks, Cyber Crime and Cyber Security
雷峰网
雷峰网
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
Security Archives - TechRepublic
Security Archives - TechRepublic
A
About on SuperTechFans
Webroot Blog
Webroot Blog
The Register - Security
The Register - Security
Scott Helme
Scott Helme
B
Blog
Security Latest
Security Latest
Last Week in AI
Last Week in AI
Google DeepMind News
Google DeepMind News
W
WeLiveSecurity
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
T
Tenable Blog
Blog — PlanetScale
Blog — PlanetScale
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
S
Schneier on Security

阿猪的博客

如何使用CNB构建Hexo项目并部署到腾讯云COS 好坑爹!派息后买入的股票怎么也扣股息税? 游哈尔滨 跨年往事 安装Ta-Lib时报错"Could not build wheels" 网站被恶意镜像了该怎么办 延迟退休正式到来!来看看有什么规定 我的基金怎么就被强制卖出了? 找工作避坑不完全指南 办理信用卡应该注意什么 华为Pad开启了“共享至电脑”,但是Windows下无法正常访问 webdriver-manager报错一例 Windows无法从环境变量中找到Python的正确位置 习大大2024年新年贺词 号外!号外!Twikoo可以直接屏蔽垃圾评论啦! 如何将Coding的代码仓同步到Github 博客被攻击了 华为Pad开启了“共享至电脑”,但是Ubuntu下无法正常访问 如何恢复Etcher刻录过的U盘 如何在Ubuntu下快速切换网络代理状态 在腾讯云函数中使用Pandas报错`No module named 'numpy.core._multiarray_umath'` 对空的DataFrame使用apply方法未得到预期结果 SQLite中使用关键字作为列名称导致报错 Logging模块重复输出内容的原因及解决方法 如何在Selenium中保持网站的登录状态 如何下载与Chrome浏览器的版本相匹配的ChromeDriver 如何下载旧版本Python的安装包 如何为不同的Python项目自动选择不同的解释器 使用腾讯云函数搭建Web站点 WordPress CORS问题一例 踩坑阿里云函数计算搭建WordPress 在AWS Amplify中部署Jekyll站点 让Chirpy主题支持折叠展示代码块 实现ChatGPT的文字输出效果 python中使用'''注释代码后引起报错 使用python自带的email模块解析邮件 使用pandas_bokeh在地图上显示数据 如何通过复权因子计算复权价格 国内量化平台不完全汇总
Hexo-AlgoliaSearch插件报错“Error has occurred during indexing posts”
阿猪 · 2024-08-18 · via 阿猪的博客

  本文介绍一例文章字数超过Algolia单条记录限制引起的部署错误,并记录阿猪的排查过程与解决办法。

一、问题场景

  阿猪使用Algolia为自己的Hexo博客提供搜索服务,使用了Hexo-AlgoliaSearch插件。平时一直都正常,但是如果遇到某篇文章超过了5000个字符,则部署的时候就会报如下错误:

[2024-08-17 17:47:59] INFO Error has occurred during indexing posts : [object Object]
[2024-08-17 17:47:59] FATAL Something’s wrong. Maybe you can find the solution here: https://hexo.io/docs/troubleshooting.html

二、原因排查

  根据报错的信息,可以大致确定与Hexo-AlgoliaSearch插件有关。

  因为之前一直都正常,写了新文章之后才开始产生报错,再结合报错信息,阿猪起先猜测可能是新文章的md文件中包含有特殊的字符组合,导致创建索引的时候产生错误。但经过反复排查和调试,最后否定了这个猜测。

  在排查的过程中,阿猪发现减少文章的字数后报错就会消失,当文章的字数增加到一定程度后,报错又会出现。阿猪猜测可能是因为文章的字数超过了索引的限制,于是在_config.yml文件中查看与这个插件有关的配置,找到两处认阿猪认为可能相关的内容:

1
2
3
4
5
6
7
#algolia Configuration
algolia:
......
chunkSize: 5000
......
fields:
- content:strip:truncate,0,5000

  于是阿猪分别尝试上调数值,但遗憾的是问题依然存在。

  最后阿猪查阅这个插件的说明文档,看到如下说明:

Key Type Default Description
chunkSize Number 5000 Records/posts are split in chunks to upload them. Algolia recommend to use 5000 for best performance. Be careful, if you are indexing post content, It can fail because of size limit. To overcome this, decrease size of chunks until it pass.
Filter Signature Syntax Description
truncate truncate(start: number, end: number) truncate,0,300 Truncate string from start index to end index. Algolia has some limitations about record size so it might be useful to cut post contents.

  根据文档中的说明,Algolia对存储的记录有大小限制,如果遇到超过限制的情况,请尝试往小调整截取内容的长度。再查询Algolia的官方文档,免费用户单条记录不能超过10kb。

三、解决方法

1、修改参数

  逐渐往小调整content中截取内容的长度,直到不再出现报错为止。经过几番尝试,阿猪将截取的内容长度从5000个字符下调到了3000个字符。

  这个方法的缺点:如果一篇文章的长度超过了截取的长度上限,则超出长度上限那部分的内容不会被索引。

2、拆分文章

  如果一篇文章的内容过长,也可以考虑将其拆分为多篇文章。这样可以确保文章的内容都被索引。

  这个方法的缺点:可能会影响访客的阅读体验。

3、升级为付费用户

  付费用户单条记录的大小限制是100kb,理论上可以存储约10万个字符(不是汉字),一般文章的字数都不会超过这个长度。

版权声明: 未经书面授权许可,任何个人和组织不得以任何形式转载、引用本站的任何内容。本站保留追究侵权者法律责任的权利。

赏杯咖啡,鼓励一下~

  • 微信打赏

    微信打赏