這周項目要做一個搜索引擎系統,於是,我看看了看上下左右,看來只有我來弄了~~
代碼其中參考了@紅薯的Lucene 早年分享的代碼,與一些朋友的精華博客。算是入門了,這個入門花了我40篇日誌。
需求
項目中會用到搜索,需求不復雜:根據關鍵字,搜索出文章,公司,產品。
技術
Java(Spring)用於查詢數據源,用的是,JDK7。
Lucene 做的是搜索,存儲功能,用的是,Lucene5。
IKAnalyzer做的是分詞功能,用的是,IKAnalyzer5。
關鍵點
1.Lucene的多個索引目錄的近實時搜索。
因爲涉及到公司,產品,文章,所以建立了多個索引,需要在多個索引之間進行查詢,如果索引發生變更,則需要立馬查詢到最新數據。
2.分頁與文章段落標紅顯示。
Lucene的分頁功能,一定要優化~
關鍵字標紅功能,特別是文章某一段匹配了關鍵字,然後只顯示那一段前後的文字,效果圖裏有效果,詳情裏前後有"..."的就是,不是整個內容全部顯示,而是某一部分前後標紅顯示。
3.查詢公司名稱時只輸入公司名一個字搜索不到公司。
這時就需要擴展詞典,將useSmart關閉。
效果圖
未完待續~~~