如何快速搜索大文本行分隔的数据文件?

时间:2014-09-26 04:17:19

标签: csv command-line solr indexing

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

我可以使用这种方法:

grep pattern data.csv

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

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

我知道有:

  • idutils:查询速度很快,但返回结果需要访问数据文件使其变慢。
  • solr:不是那么容易使用。

1 个答案:

答案 0 :(得分:0)

您的问题中缺少很多细节,可以更方便地为您提供帮助。例如,CSV中的字段,您通常搜索的模式,每次搜索相同的数据集以及搜索频率。假设您需要以grep和/或idutils不支持的方式搜索相同的数据集,Solr才有意义。例如,如果你想进行可以返回部分匹配的搜索,Solr会让这更容易。

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