星期一, 7月 11, 2005

[.Net]dotLucene(1)

上星期逛網路的時候,不小心讓我給逛到 Lucene
*Lucene:基于Java的全文检索引擎简介
*DotLucene:37行代码实现全文搜索
*DotLucene: Full-Text Search for Your Intranet or Website using 37 Lines of Code

雖然以前就大略知道 Lucene, 但卻搞不太清楚他是幹麼的,逛完這幾篇之後,才知道是幹麼的.
於是就很想應用在紅狐論壇上.

上面的文章都是很不錯的入門文章,但是在我一開始投入的時候,的確讓我有很多困擾:
1.例子多半都是用 File / Directory 當作範例,真的可以用來搜索資料庫嗎?
2.又資料庫本身就有不錯的全文檢索,那麼,還需要這個嗎??
3.DotLuceneFbDirectory: DotLucene Index Storage for Firebird 這篇文章說可以拿 Firebird database 當作 storage, 那麼,我需要參考這篇文章這麼作嗎??

想了兩三天,也仔細看了兩三天...
1. 的確可以, dotLucene 有提供 Document 類別,而此類別可以讓你自由添加 Field 進去,所以我可以直接添加 Table 裡的某些欄位進去. 在 asp.net 上應用時,我可以參考這些我自定的欄位來產生網址,讓使用者可以直接點選網址進入.
2. 像 Microsoft SQL server 的確有提供全文檢索功能,可是據說很費效能. dotLucene 還不錯,搜索的時候速度蠻快的,也沒花什麼資源(用工作管理員觀察),不過這部分還需要詳細的實驗才知道.
3. 仔細看完這篇文章以後,才發現,雖然可以利用 database 當作 storage,可是並不建議,因為效能不高. 可惜的是文章內容並沒有提供效能評比,無法作進一步的比較.

在整個考量以後,決定先以紅狐所提供的論壇資料作為一個練習,也可以順便作一些實驗.

沒有留言: