ICU提供了一种减少.dat文件大小的方法。我几乎可以肯定我不需要大多数默认的编码。如果我想专门为sqlite构建一个CJK .dat文件,我可以删除哪些文件。
我只需要使用标记生成器就可以进行整理。似乎所有这些角色转换可能都不是必需的。在17MB,它太胖了!对于所有数据库,我们使用
PRAGMA encoding = UTF8;
数据自定义程序链接:http://apps.icu-project.org/datacustom/
换句话说,如果我在SQLite中使用UTF8进行整理和索引,那么我真正需要哪些部分的dat文件?我打赌大部分都没用过。我怀疑我不需要Charset Mapping Tables,也许不需要一些Misc数据。
ICU。 该工具将生成一个只能与4.8系列ICU一起使用的数据库。帮助页面提供了有关如何使用此工具的信息。
更新。除了Base Data和Break Iterator之外,似乎可以删除所有内容。关于来自http://userguide.icu-project.org/icudata的Collators:
除了转换表之外,大部分数据都在整理中 适用于东亚语言。您可以删除这些的排序规则数据 从那些语言中删除CollationElements条目 source / data / locales / * .txt文件。 当你这样做时,整理为 这些语言将与Unicode排序规则相同 算法
这似乎“足够好”。
排名
从版本1.8开始,ICU整理服务已更新为 完全符合Unicode归类算法(UCA) (http://www.unicode.org/unicode/reports/tr10/)并符合ISO 14651.使用这些标准中定义的校对算法有几个好处。一些更重要的好处 包括:
Unicode包含大量字符。这可能会很困难 用于整理是快速操作或需要整理使用 重要的内存或磁盘资源。 ICU校对实施 设计为快速,占用内存小,高度高 可定制的。
算法由专家设计和审查 多语种整理,因此是健全和全面的。
共享已排序数据但不同意数据方式的应用程序 应该被命令无法正确执行。通过遵守 UCA / 14651校准标准,自主开发 应用程序,例如用于电子商务的应用程序,对数据进行相同的排序 并正确执行。
ICU整理服务还包含几项增强功能 在UCA中不可用。例如:
附加案件处理:ICU允许忽略案例差异或 翻转。大写字母可以在小写字母之前排序,或者 反之亦然。
轻松定制:可轻松定制服务以满足广泛需求 整理要求范围。
灵活性:ICU提供排序密钥生成和快速增量 字符串比较。它还提供对排序数据的低级访问 通过collation元素迭代器(§)
Update2。如果从.dat中删除了Break Iterator,则会发生以下情况:
sqlite> CREATE VIRTUAL TABLE test USING fts4(tokenize=icu);
sqlite> CREATE VIRTUAL TABLE testaux USING fts4aux(test);
sqlite> .import test.csv test
Error: SQL logic error or missing database
答案 0 :(得分:2)
(我们正在谈论Data Customizer页面。)
我从最大的项目开始,并且能够完全省略这些:
我必须包含 Collators ,但只包含我支持的语言。
我试图修剪 Break Iterator ,但它破了,所以我就在那里停了下来。没有别的东西差不多了。