字典数据库大小 - 哪种算法和策略如此轻松?

时间:2014-03-01 17:56:07

标签: database algorithm optimization wordnet

我正在查看像wordnet这样的开放词典的数据库大小。它几乎有52 MB 数据库大小。但我在Google Play上看到了一些离线词典应用程序,如

使用维基数据库的

1http://wordnet.princeton.edu/ English Dictionary应用。我不知道他们是如何设法提供仅有15 MB尺寸且超过167000字的离线字典

在数据库中保留单词的方法可能是什么?

1 个答案:

答案 0 :(得分:1)

Wordnet在内存占用量很小的情况下打包了很多。

如何? - 这是简短的图片:

  

单词存储在索引文件中以便快速搜索 - index.noun,   index.adj等。

     

定义文件中word和offset之间的关系 - data.noun等   提供。

     

定义文件中的每一行对应一个定义和   单词之间的关系由符号和偏移标记。例如。   !反义词,@ for kind of等。

     

这使得整个事情非常紧凑。

有关此内容的更多信息:man 5 wndb

关于尺寸: 52MB = 52000KB

在Wordnet中大约~180K字 - 每个字有52000K / 180K~300字节。

平均约300个字节来表示定义+关系 - 足够好。 例如(大约)平均每4个定义(20个字符),2个用法(20个字符串),关系开销(10个关系)