1
私たちは多くのログを収集しています。これらのログを保存するためにデータベースまたはファイルを使用し、テキスト検索を使用してそれらを検索できるようにしたいと考えています。これを効率的に行う方法はありますか?hibernate検索ロギングテキストファイル
私たちは多くのログを収集しています。これらのログを保存するためにデータベースまたはファイルを使用し、テキスト検索を使用してそれらを検索できるようにしたいと考えています。これを効率的に行う方法はありますか?hibernate検索ロギングテキストファイル
だから何あなたが行うようになったことは、あなたがのLucene実装(私は検索を休止状態使用をお勧めします)その意志インデックスデータベースに保存されている例外の文字列を作成したより
ExceptionPersistingService eps = new ExceptionPersistingService();
try{
//some code that might trow exception
}catch(Exception e){
eps.saveNewExceptin(getStackTrace(e));
}
public static String getStackTrace(Throwable aThrowable) {
//add the class name and any message passed to constructor
final StringBuilder result = new StringBuilder("Trace: ");
result.append(aThrowable.toString());
final String NEW_LINE = "<br>";
result.append(NEW_LINE);
//add each element of the stack trace
for (StackTraceElement element : aThrowable.getStackTrace()) {
result.append(element);
result.append(NEW_LINE);
}
return result.toString();
}
です。 save()メソッドでは、例外が発生したID
、Date
、ExceptionString
、User
、さらにはURL
の詳細を作成することができます。
あなたがしなければならないことは、クエリを解析したり、ファジーなどのクエリを作成して検索結果を楽しむだけです。詳細については、Hibernate Search in Action
とLucene in Action
のような本を勉強する必要があります。私は簡単に言及したことをどうやって行うのか、かなり良い例があります。