さまざまな文字列を検索する必要がある、66 ギガバイトの巨大な「log.txt」(log1.txt、log2.txt、log3.txt など) ファイルが約 100 個あります。
42,000 個の文字列すべてがテキスト ファイルにあります。
現在、grep( grep -F -f strings.txt log.txt
) を使用していますが、1 つの log.txt を検索するのには 50 分ほどかかります。
すべてのファイルをより速く検索する方法をご存知ですか? 100 個のファイルすべてを検索すると、検索用に新しい 100 個のファイル セットが生成されます。
答え1
商品の宣伝だと非難される危険がありますが、この問題が構造的なもの(毎日の時間の浪費など)であれば、私はエラスティックサーチ。
どうやってやっているのかは分かりませんが、毎日80GBのファイルをインポートしてElasticが回答を返すようにしています。ミリ秒。
免責事項: 私はその会社とは何ら関係がなく、いかなる形でも利益を得ていません。ただその会社の製品に満足しているユーザーです。