elasticsearch 在Ruby中搜索大型CSV文件的通用方法,时间合理,成本可承受

u0sqgete  于 2022-11-22  发布在  ElasticSearch
关注(0)|答案(1)|浏览(151)

我在StackOverflow上找到了一些答案,但没有一个完全符合我的需要。
我正在编写一个Ruby脚本,通过一个特定的键在大型CSV文件中查找行(每个文件约500 MB和1 M条记录)。
grep命令在1个文件中查找匹配项需要15-30分钟。
我有400多个文件,我每天都要运行几十个搜索。
我需要一个简单、灵活且经济实惠的解决方案来搜索文件。

  • 我不想将CSV上载到健壮的数据库引擎。
  • 我不想为ElasticSearch这样的服务付费。
  • 我需要适应不同的列配置和不同的键定期,以最小的努力。
  • 我需要对文件的只读访问权限。不需要修改和删除。因此,索引只建立一次,不需要进一步修改。
dkqlctbz

dkqlctbz1#

我终于花了1天的时间开发了这个解决方案:CSV索引器。
CSV-Indexer不如Lucene健壮,但它简单且经济高效。可以对数百万行的文件进行索引,并在几秒钟内找到特定的行。
在此处查找完整文档和示例:
https://github.com/leandrosardi/csv-indexer

相关问题