[英]Apache Lucene - Optimizing Searching
我正在開發Java(使用Spring)中的Web應用程序,該應用程序使用SQL Server數據庫。 我使用Apache Lucene為我的Web應用程序實現搜索功能。 使用Apache Lucene,在執行搜索之前,我會創建標題索引。 我首先從數據庫中獲取所有標題的列表。 然后,我遍歷標題列表,並將每個標題添加到索引中。 每當用戶搜索某些內容時,就會發生這種情況。
我想知道是否有更好,更有效的創建索引的方法? 我知道我的方式效率很低,並且在標題列表很長時需要很長時間才能完成。
任何建議將不勝感激。
謝謝
你應該:
這種方法的好處:
優化Lucene之前:SQL Server已經具有全文搜索功能。 如果這涵蓋了您的用例,請使用它。 這是最簡單的方法,因為SQL Server負責保持搜索索引與數據庫同步。
如果SQL Server全文搜索不適合您的用例,則您的應用程序必須創建自己的搜索索引並使其與數據庫保持同步。 為此,您應該:
Lucene在存儲搜索索引的地方很靈活。 您可以將其存儲在文件系統或數據庫的目錄中(或編寫您自己的存儲提供程序)。 我建議將其存儲在文件系統中,因為與將其存儲在數據庫中相比,性能要好得多。
如果沒有太多標題可索引,則還可以使用內存搜索索引,該索引在每次應用程序啟動時都會重新創建。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.