2010-12-27 13 views
3

私は、エラーログとその説明の何千もの行を持つデータベースを持っています。このエラーログは24時間365日稼働しているアプリケーション用です。私はダッシュボード/ UIを作成して、プロクシションサポートのために起こっている現在の一般的なエラーを表示したいと考えています。文の間の類似点の計算

私が抱えている問題は、一般的なエラーが多いにもかかわらず、エラーの説明が、転写IDまたはユーザーID、またはそのような固有の特質であることによって異なります。

例えばエラーtrasaction XYZは 例えば2エラーtrasaction XYZは、ユーザ567

私が同じになるように、これらの2 errosを検討するために失敗したユーザ233に失敗しました。だから私は、新しいエラーログを通過し、それらをグループに分類するプログラムにしたい。私は "編集距離"を使用しようとしていますが、非常に遅いです。私はalraedy古いエラーログを持っているので、私もその情報を使用してソリューションを考えようとしています。何かご意見は?

+0

soundexに基づくものはおそらく... –

答えて

1

私は、プログラムによってエラーメッセージが生成されたと想定しているため、それらはおそらく非常に特殊なパターンに分類されます。

つまり、特に複雑な操作を行う必要はありません。エラーメッセージを解析するだけです。メッセージをタプルに分割するには、正規表現を使用します(またはもっと強力なもの)。その後、個々のフィールドをグループ化したりカウントしたりする。たとえば、「エラートランザクション([A-Z] *)がユーザー([0-9] *)に失敗しました」のような正規表現を実行できます。エラーコード(最初のキャプチャグループ)またはユーザー(2番目のキャプチャグループ)のヒストグラムを作成できます。

+0

現在、私たちは正規表現を使用していますが、コストが非常に大きいので、より高速な方法を見つけようとしています – codecreator

+0

正規表現による解析は、あなたが得ることができるように。それは長い時間がかかりますか、またはあなたが細断した後の分析ですか? –

1

より適切かもしれない他の指標(Levenshteinは別として)があります。コサインの類似性を考えましたか?

SimMetricsは、similarity algorithmsとそれに対応するコスト関数の豊富なコレクションを提供するF/OSSライブラリです。

+0

... .NETとJavaの両方のバージョンがあります – Mikos

関連する問題