【问题标题】:How to quickly search big text line separated data file?如何快速搜索大文本行分隔的数据文件?
【发布时间】:2014-11-21 00:21:57
【问题描述】:

我有一个大数据文件 (>= 300M, csv),想要查询数据并从中返回行。

我可以用这个方法:

grep pattern data.csv

但是速度很慢。我需要查询几种模式,所以也许索引这个文件是一个很好的解决方案。

有什么好的命令行工具可以完成这项工作吗?

我知道有:

  • idutils:查询速度快,但是返回结果需要访问数据文件,速度慢。
  • solr:没那么好用。

【问题讨论】:

  • 如果您真的想尝试一下,Hadoop(及其衍生工具)就是为此而设计的,尽管规模要大得多。原则应该是一样的。

标签: csv command-line solr indexing


【解决方案1】:

您的问题中遗漏了很多细节,这些细节会让您更容易为您提供帮助。例如,您的 CSV 中的字段、您通常搜索的模式、您是否每次都针对相同的数据集进行搜索以及搜索频率。假设您需要以 grep 和/或 idutils 不支持的方式搜索相同的数据集,Solr 是有意义的。例如,如果您想要进行可以返回部分匹配的搜索,Solr 会使这变得更容易。

虽然不是命令行解决方案,但standing up Solrloading it with CSV 是一项简单的活动。根据 CSV 的字节大小,它不需要任何调整。辛勤的工作是defining a Solr schema.xml definition,它以支持您的各种搜索要求的方式索引您的数据。在您的特定情况下,听起来您想要做一些标记化,并且可能对您的可搜索字段进行词干处理,因为您已经在寻找进行模式匹配。但这实际上取决于您的特定搜索需求。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-25
    • 2014-08-07
    • 2014-10-14
    • 2012-03-17
    相关资源
    最近更新 更多