平均文字列の長さが10-12文字で、重複する可能性があり、各文字列が異なる行にある10億文字列の巨大な平文ファイルがあります。私の仕事は、クエリ文字列が与えられたときに、文字列がファイルに存在する場合に最初に一致する行を探し出すか、 "見つからない"を返すことです。巨大な短い文字列を検索する
自然な解決策は毎回grep -m1 -n '^querystring$'
を実行することです。これには約15-20秒かかりますが、これは余分なストレージを必要とせず、メモリを消費しません。これは良い解決策ですか、それとももっと良いものがありますか?
あなたはそのためのシンプルなPythonのコードを使用することができます