所以,我有一个70,000行的字典文件,按字母顺序排序。每一行都是一个单独的单词,带有翻译。在这样的文件中搜索的最佳做法是什么?我正在考虑文件的索引,但可能有更好的方法。
答案 0 :(得分:3)
首先,使用Java NIO的内存映射文件支持对内存进行映射。其次,预处理它以查找新条目开始的所有偏移量。最后,编写一些可以找到条目的二进制搜索代码。我认为这可能是最轻量级和内存效率最高的解决方案。
Lucene还使用了跳过列表:您还可以每隔16个(左右)条目缓存内存,并在二进制搜索的第一阶段使用它。然后,您必须转到实际文件,才能将确切的条目归零。
答案 1 :(得分:1)
可能是解决方案的项目是Lucene