TGTGInsighttelegram intelligenceLIVE / telegram public index
← 不求甚解
不求甚解 avatar

TGINSIGHT POST

Post #112

@Fakeye

不求甚解

Views285帖子阅读量
发布5月13日2020/05/13 07:26
Post content

帖子内容

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