大眼夹 头像

消息来源频道

大眼夹

@TheClippy

频道172 位成员公开可见0 人在线

随缘收藏 & 分享一些有意思的软件、网站、文章、图片,etc...

成员规模172 位成员
在线情况0 人在线
消息总数146 条消息
浏览量总数72 次浏览

在这个频道里搜索消息……

t.me/TheClippy

#telegram #Search
🔍 为什么 Telegram 不能搜寻中文讯息
⭕️ 圈重点:
- Telegram 使用 SQLite 作为资料库
- fts 全文搜索将字串以 Tokenizer 切割成短语,分别取 Hash,寻找时与哈希表进行比对
- 标记生成器根据分离器、分隔符切割字串
- 分离器、分隔符之外的成分为「令牌」,有“大号(字母),N (数字)及Co(其他)”三种预设
- 中日韩文字属于 unicode CJK,绝大多数被识别为令牌
(╯﹏╰) 从而,汉字语汉字间没有任何分隔符,会被整串拿去哈希,从而导致搜寻无效。本文从代码的角度很好地说明了 Telegram 的中文消息搜索为何如此之烂
👨🏻‍💻 作者给了两个建议:
1️⃣ 手动在汉字间插入不可见的分离器
2️⃣ 写个客制化的 Tokenizer,即魔改 Telegram 客户端软件
❤️ 感谢群友分享此文,之前自留地也通过不同的思路整理了中文搜索方案,并认为目前的最优解是通过全局爬虫+数据库索引实现:Telegram 中文搜索方案探索
频道:@NewlearnerChannel