1

因此,我有一个包含 70,000 行的字典文件,按字母顺序排列。每一行都是一个带有翻译的单独单词。作为在此类文件中搜索的最佳做法,您会推荐什么?我正在考虑对文件进行索引,但可能有更好的方法。

4

2 回答 2

3

首先,使用 Java NIO 的内存映射文件支持对其进行内存映射。其次,对其进行预处理以查找新条目开始的所有偏移量。最后,编写一些可以找到条目的二进制搜索代码。我认为这可能是最轻量级和内存效率最高的解决方案。

Lucene 还使用了跳过列表:您可以另外在内存中缓存每 16 个(左右)条目,并在二分搜索的第一阶段使用它。然后,您将不得不转到实际文件,仅将确切条目归零。

于 2012-07-07T13:12:35.347 回答
1

可能是解决方案的项目是Lucene

于 2012-07-07T13:11:03.560 回答