因此,我有一个包含 70,000 行的字典文件,这些文件按字母顺序排列。每行都是一个带有翻译的单独单词。作为在此类文件中搜索的最佳实践,您会推荐什么?我正在考虑文件索引,但可能有更好的方法。
最佳答案
首先,使用 Java NIO 的内存映射文件支持对其进行内存映射。其次,对其进行预处理以找到新条目开始的所有偏移量。最后,编写一些将找到条目的二进制搜索代码。我认为这可能是最轻量级和内存效率最高的解决方案。
Lucene 还使用跳跃列表:您可以额外地在内存中缓存每第 16 个(或左右)条目,并在二进制搜索的第一阶段使用它。然后,您只需转至实际文件即可将确切条目归零。
关于java - 在大文本文件中搜索(java),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11375256/