有没有Java中的任何内置库在大约100GB的大文件中搜索字符串在Java中。我目前使用二进制搜索,但效率不高。建立在图书馆的100GB文件进行有效搜索
0
A
回答
0
据我所知,Java不包含任何文件搜索引擎,有或没有索引。这也有一个很好的原因:搜索引擎实现与输入数据集和搜索模式格式固有地相关。两者之间的微小变化都可能导致搜索引擎的巨大变化。
对于我们能够提供你需要一个更具体的答案:
描述正是数据集:文件的数量,路径结构和平均大小,每个条目的格式以及每个包含的令牌的格式。
描述究竟您的搜索模式:是那些固定的字符串,glob模式,或者说,正则表达式?你期望这个模式在每一行中都匹配一整行或一个特定的标记吗?
描述确切您想要的搜索结果:你想要精确或近似匹配?你想获得文件中的位置,还是提取特定的令牌?
描述正是您的要求:你能事先建立索引?数据集是否预期会实时修改?
说明为什么不能使用专为这类工作设计的第三方库,如Lucene。
解释为什么当前的二进制搜索,它应该有一个的
O(logn)
复杂性是不太有效。 可能是会更快,并且具有恒定的复杂度将涉及使用散列表。
这可能是最好的,如果你从更广泛的角度来描述你的问题。例如,可以从您的样本数据集中假设您拥有的是一组单词以及相关的偏移量或文档标识符列表。在这样的一个集合中进行搜索的简单方法是将一个字/文件位置索引存储在散列表中,以便能够在恒定时间访问每个关联列表。
0
如果你不想使用为搜索而构建的工具,那么将数据存储在数据库中并使用sql。
相关问题
- 1. 图书馆建立的网址在Python
- 2. .Net图书馆用于通过哈希进行图像搜索?
- 3. 在图书馆网站中实现全文搜索软件
- 4. C++ SQL查询建立图书馆
- 5. 图书馆/文件搜索建议/字符串分割效率/如何使我的代码更快运行
- 6. ACM数字图书馆搜索本身
- 7. 图书馆目录搜索sql语句
- 8. 图书馆搜索Android上的非结构化文本
- 9. 使用我的图书馆的AAR文件,该文件对其他图书馆
- 10. 建立图书馆时,clang和clang ++有什么区别?
- 11. 图书馆开发 - 寻找建议功能的有效用例
- 12. 图书馆对图书馆的引用
- 13. 建立在私人电脑上的图书馆
- 14. JumpList?进入图书馆
- 15. 在具有图书馆“效果”的GLM图中缩放轴
- 16. OpenPose图书馆 - 构建发行问题
- 17. 的Android NDK - 建立试图链接不存在的预建图书馆
- 18. 如何建立图书馆用C++编写,并在iOS版
- 19. 基于图书馆存在有条件的CMake构建目标
- 20. 为我的个人图书馆编写图书馆搜索程序,在选择多词时遇到问题
- 21. 在MySQL中进行全文搜索的最有效方法
- 22. 加入预建图书馆
- 23. YAML-CPP编译器错误试图建立图书馆
- 24. 图书馆的文件生成器iphone
- 25. iOS - 与其他已有FB的图书馆进行Facebook.framework集成
- 26. 运行JAR文件没有swing图书馆
- 27. 使用MAML进行图书馆的概念性文档编制
- 28. 错误在进口图书馆
- 29. CMake的:建立图书馆,并连接它
- 30. 为iOS(iPhone和iPad)建立的Twitter图书馆是什么?
告诉我们关于100GB数据集的信息。它由什么组成,任意字符串?这些琴弦是否以特定方式排列?你允许预处理数据集吗?你需要执行什么类型的搜索,完全匹配整个字符串?就目前而言,问题是*方式*不明确。 – NPE 2012-04-13 15:51:46
@aix感谢您的回复。数据集由任意字符串组成。是的,我想对整个字符串做精确匹配 – 2012-04-13 15:54:05
如果数据行的定位比想象中使用MapReduce ...特别是在数据大小上。 – khmarbaise 2012-04-13 15:56:53