在撰寫Java程式時很習慣的使用log4j來當程式訊息的輸出記錄,只需要簡單的改變設定檔就可以改變訊息是要顯示於Console、存入資料庫或是存於檔案裡,而且可選擇對於不同層級的記錄,十分方便於開發的Debug。
log4j也有.net版本,就叫log4net,也是由Apache基金會開發維護,在使用上與log4j還蠻相似的,log4j在使用時只需把config檔放置於classes跟目錄就可以了,而log4net則需要手動載入此設定檔,安裝設定的方法如下。
詳細文章
JavaMail是個歷史悠久的寄送電子郵件Email套件,由Sun公司所開發(Oracle),因為電子郵件數年來並沒有多大的改變,所以一直都是十分方便的一個套件,使用方法可參考Java程式Mail、EDM(電子型錄)寄送這篇。
而現在有了另一個framework,是由Apache組職所提供的開放原始碼套件Apache Commons email,使用上更為簡單,而且支援度也很高,像是gmail要使用javamail來寄送,就需要設定繁雜的Sectury項目,而Apache commons email就顯的簡單許多,底下的範例就是使用gmail的smtp.gmail.com來當SMTP服務寄送信件的,我把它應用在之前的留言板,當有人留言時,就可以馬上接到信件的通知。

詳細文章
之前有介紹過怎麼讀取檔案來製作lucene的索引檔,這裡再提供另一個類似的方法,先從網路上取得網頁的html內容,有點像網路的爬蟲,爬取資料後再來建立索引檔。
程式有簡單的html資料取得的方式,需要更進階的方法可以參考URLConnection來實作get及post動作這一篇。
原始碼如下:
取得網頁資料建立索引內容
詳細文章
當索引資料已被建立,需要刪除此筆資document料時,只要利用索引key值查到此筆資料document,然後利用deleteDocuments來刪除此筆資料document。
lucene有二種索引存放方式
- RAM Directory記憶體,速度快,但程式結束後資料就不見了
- FS Directory檔案系統,資料永久存在,一般比較常用
程式範例先建立二筆資料document,然後對第一筆資料document的test這個key field做刪除動作。此範例使用Ram Directory記憶體來存放索引值,可以與上一篇範例製作索引檔做比較。
詳細文章
搜尋引擎最重要的功能就是查詢資料了,當建立好索引檔後,就可以針對索引檔內容進行查詢,索引資料可分為有做分詞及未做分詞,未做分詞的索引資料,只有全部內容均相同才會找到此筆資料,有做分詞者,則依分詞類型,可能有單字索引,雙字索引或中文字詞索引等,索引做的越好,搜尋到的資料會越精準。
資料Field也分成儲存及不存儲二種,當選擇儲存Store.YES時,查詢到此筆資料時則可以直接取用,不過此方法會佔用較多的空間,不存儲方法Store.NO則相反。
索引資料內容如下:

詳細文章