在大文本文件中搜索(java)

时间:2012-07-07 13:07:58

标签: java search large-files

所以,我有一个70,000行的字典文件,按字母顺序排序。每一行都是一个单独的单词,带有翻译。在这样的文件中搜索的最佳做法是什么?我正在考虑文件的索引,但可能有更好的方法。

2 个答案:

答案 0 :(得分:3)

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

Lucene还使用了跳过列表:您还可以每隔16个(左右)条目缓存内存,并在二进制搜索的第一阶段使用它。然后,您必须转到实际文件,才能将确切的条目归零。

答案 1 :(得分:1)

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