[英]How to search over IMAP full text search?
我正在開發微服務,我必須在 IMAP 服務器上實現全文搜索。 我們將郵件存儲在文檔中。 在實現全文搜索時,連接到 IMAP 花費了太多時間並且服務器請求超時。 我使用的是 IMAP 中可用的 match() 方法。
@Override
public boolean match(Message message) {
try {
Address[] fromAddress = message.getFrom();
if (fromAddress != null && fromAddress.length > 0) {
if (fromAddress[0].toString().contains(fromEmail)) {
return true;
}
}
} catch (MessagingException ex) {
ex.printStackTrace();
}
return false;
}
我使用以下文章作為參考( https://www.codejava.net/java-ee/javamail/using-javamail-for-searching-e-mail-messages )。
這花費了太多時間來搜索。 有沒有人知道如何在不丟失連接的情況下減少時間並獲得結果?
注意:我們已經對我們的文檔進行了索引,因此我們可以快速搜索。
因此,在互聯網上漫游后,我發現 IMAP 不是用於搜索大量數據的好主意。 我每分鍾可以搜索 600-800 條記錄。 但它不是很快,無法滿足我的需求。
因此,為了搜索大量數據,我們切換到 Solr Server。 這是非常快的。 Apache Solr 服務器。 為了與 Java 連接,它有一個客戶端庫 SolrJ。
> <dependency>
<groupId>org.apache.solr</groupId>
<artifactId>solr-solrj</artifactId>
<version>6.4.0</version>
</dependency>
但是你不能同時使用執行器依賴和 solrJ。 您需要為此明確提供配置。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.