私は JavaMail をかなり前から使用して、単純なメール アプリケーションを開発しています。また、JavaMail の SearchTerm の概念を使用して簡単な検索機能を開発しました。送信者、受信者、日付、内容、または件名でメールを検索したかったのです。したがって、上記のパラメーターの SearchTerm の組み合わせの例を以下に示します。
SearchTerm searchSenderOrSubjectTerm = new OrTerm(termSender, termSub);
SearchTerm searchSenderOrDate = new OrTerm(termSender, termRecvDate);
SearchTerm searchSubjectOrSenderOrDate = new OrTerm(searchSenderOrSubjectTerm, searchSenderOrDate);
SearchTerm searchSubjectOrContentOrSenderOrDate = new OrTerm(searchSubjectOrSenderOrDate, termContent);
SearchTerm searchSubjectOrContentOrSenderOrRecvrOrDate = new OrTerm(searchSubjectOrContentOrSenderOrDate, termRecvr);
//return the search results
searchResults = folder.search(searchSubjectOrContentOrSenderOrRecvrOrDate);
これは正常に機能しており、必要な結果を返します。しかし、このアプローチの問題は、検索して結果を返すのに時間がかかりすぎることです。問題が内部の SearchTerm 実装なのか、それとも上記のアプローチによるものなのか疑問に思っていました。それで、特にパフォーマンスの問題について、あなたの経験を教えてもらえますか? これには時間がかかりすぎて、どこに問題があるのか正確にはわかりません。
よろしく、