出于个人需要,以及 MDict 的生态混乱和全文搜索支持很差的状况,在过去一年里实现了一个新的辞书格式 WarblerDict
。
主要特点
- 对辞书的词头进行优化索引,不依赖数据库和 SQL,读取速度快。检索复杂度可优化至 O(1),读取速度不受词条数增长的影响。(最差的优化条件下,OED 深度提取版 575932 条词条,普通机械盘随机读取用时 370 毫秒/每词条。)
- 支持词条智能搜索,支持模糊匹配、拼写纠正、词性词形转换、同义词等价、检索提示,无需进行词头扩容和
@@@LINK=
跳转。 - 可插拔、可扩展式的索引,用户可根据需要下载制作者打包好的索引文件,无需本地重复建立索引。内置支持全文搜索、近反义词搜索、例句搜索、搭配搜索(N-gram)、辞书特色板块搜索、英汉反查、交叉搜索,通过编写脚本或配置文件可任意定制其他搜索模式。
- 保留词条顺序, 可自定义排序。
- 可生成辞书目录供浏览阅读使用。 生成目录可自定义排序,筛选,设置层级和可见性。目录顺序可重排,可与词条顺序不同。
- 可一键从 MDict 辞书转换生成新格式和相应的索引。
- 和 MDict 相当的压缩率。(因为索引的需要,新格式生成的文件体积通常比 MDict 略大 1%~5%)
- 丰富的编程库(SDK)和用户界面。提供现代化的界面设计,简洁、美观、易用。
- 可一键发布或下载辞书,用户可搭建或浏览辞书库,管理辞书库的下载、上传权限等。
- 可一键生成 Online 版的查词网页,可配置自由访问权限。
- 内置 CSS 样式库和常用 JS 组件,词典之间相互隔离,异步加载。
- 词典文件支持差分更新和实时修改。
- 内置 SHA256 Checksum 完整性校验。
目前的进度
辞书格式:定稿,完成
搜索:完善优化中
SDK:完善优化中(技术栈 Python, Golang, REST API, Java, JavaScript)
转换和查词程序+用户界面:原型设计中
FAQ
1. 新格式是否开源?
WarblerDict 辞书格式的文件结构和相应的 SDK 全部开源,转换和查词程序待定。
2. 新格式何时会发布?
近两个月可能会放出 DEMO,预计 2021Q4 至 2022Q2 陆续发布。
3. 查词程序支持哪些平台?
计划支持 Windows, MacOS, Ubuntu, Android, Web. (IOS 待定)