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

标签 java search large-files

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

最佳答案

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

Lucene 还使用跳跃列表:您可以额外地在内存中缓存每第 16 个(或左右)条目,并在二进制搜索的第一阶段使用它。然后,您只需转至实际文件即可将确切条目归零。

关于java - 在大文本文件中搜索(java),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11375256/

相关文章:

performance - 在空间使用量恒定的情况下从磁盘流式传输数据的最有效的习惯用法是什么?

c# - 大文件处理 - 读取算法中断 - C#

java - 设置类路径后是否需要从 jar 文件导入包?

java - 代号一 - 自定义日历日按钮

c# - Twitterizer - 搜索 API 示例

algorithm - 找到圆圈中的索引,使旅行者可以完成一轮

active-directory - 如何在System.DirectoryServices.Protocols中放弃长时间运行的搜索

java - 为什么签名的 java applet 无法连接到外部服务器?

java - 正则表达式返回最后一个/和之间的数字?

c - 只需要写一个大文件就需要 O_LARGEFILE 吗?