听起来像Apache Lucene的工作.
您可能不得不重新考虑您的搜索策略,但是这个库是为了做这样的事情并逐步添加索引.
它的工作原理是构建数据的反向索引(Lucene用语中的文档),然后快速检查反向索引中哪些文档具有模式的一部分.
您可以使用文档索引存储元数据,这样您就不必在大多数用例中查阅大文件.
基本上你需要的是一个可以处理流的状态机.这个流被绑定到文件...每次文件增长时,你会读取附加到它上面的内容(就像tail linux命令一样,它将添加到文件中的行附加到标准输出).
如果需要停止/重新启动分析仪,可以将其存储在起始位置的某个位置(可能取决于模式匹配所需的窗口)并从中重新启动.或者您可以从头开始重启.
这是问题的"增加文件"部分.
对于处理内容的最佳方式,它取决于您真正需要的内容,您想要应用的数据和模式类型.正则表达式可能是最佳解决方案:灵活,快速且相对方便.
根据我的理解,如果你想对一些自然语言内容进行文档搜索匹配,Lucene会很好.如果将所有日期或所有行与特定属性匹配,这将是一个糟糕的选择.还因为Lucene首先制作了文档的索引......这对于真正繁重的处理只会有所帮助,因为索引首先需要时间.
| 归档时间: |
|
| 查看次数: |
974 次 |
| 最近记录: |