为了解决 Telegram 对汉文搜索的问题,几年前 Sharzy 开发了 Python + Whoosh 的消息记录的搜索工具。近日在将其用 Rust + Tantivy 重写的过程中,他发现基于 jieba 的 analyzer 在处理日文时会有显著的问题,于是转向了更加通用的 CJK bigram 方案。但他很快意识到和 Unicode 搏斗并不是一件美妙的事情。Unicode 联盟开发的 ICU (International Components for Unicode) 是一套处理 Unicode 的库集合,但是不同文字之间的差异并不能直接用 ICU 抹平,从拉丁字母、汉字、日文假名、谚文,到阿拉伯字母、希伯来字母、婆罗米系文字,再到越南语拉丁字……试图为这些文字/书写系统构建统一的方案的问题远比看起来要多。
本次 Tunight 上 Sharzy 将会介绍如何在㋿Ξ㍾㍿的 ICU 世界中构建出一套似乎能用的系统——目前仍在锐意开发中。
欢迎大家一起来玩!
活动信息: