當前位置:首頁 » 數據倉庫 » java資料庫全文檢索
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

java資料庫全文檢索

發布時間: 2022-04-27 23:58:12

⑴ 如何用java的lucene對資料庫進行全文檢索

lucene是一個公用的全文索引組件,它的目標是把各種各樣格式的數據轉化成lucene特有的索引文件格式,這樣才能通過lucene的高速檢索機制進行全文檢索。

你的數據來源可以是關系資料庫,可以是word、execl、txt文檔,可以是html網頁,對於這些數據源,你必須將它們內部的數據讀取出來,並封裝成lucene的document實例,之後讓lucene幫你構建索引。

舉個例子:你的有一個用戶資料庫,裡面存儲了幾十萬的用戶信息,你現在要對這個資料庫進行全文索引,那麼你要做的事情是:

1.寫一段傳統的JDBC程序,講每條的用戶信息從資料庫讀取出來
2.針對每條用戶記錄,建立一個lucene document
Document doc = new Document();
並根據你的需要,將用戶信息的各個欄位對應luncene document中的field 進行添加,如:
doc.add(new Field("NAME","USERNAME", Field.Store.YES,Field.Index.UN_TOKENIZED));
然後將該條doc加入到索引中, 如: luceneWriter.addDocument(doc);
這樣就建立了lucene的索引庫
3.編寫對索引庫的搜索程序(看lucene文檔),通過對lucene的索引庫的查找,你可以快速找到對應記錄的ID
4.通過ID到資料庫中查找相關記錄

上面闡述了lucene的大體用法,不知道是不是說的很清楚。

⑵ 用java 實現一個搜索功能,要求搜索某個關鍵字,然後把包括這個關鍵字的一段話輸出到文檔中。qq454284728

一、什麼叫搜索引擎?

在Internet上有上百億可用的公共Web頁面,即使是最狂熱的沖浪者也不會訪問到所有的頁面,而只能看到其中的一小部分,更不會在這浩瀚的Web海洋中發現你那即使精彩卻渺小的一隅。當然你可以為你的存在做廣告,可以用大大的字把你的URL刻在你的身體上,然後裸體穿過白宮草坪,但你得保證媒體正好在那裡,並注視到了這一切。與其這樣做,不如好好去理解搜索引擎是如何工作的?又怎樣選擇和使用"keywords"(關鍵詞)等等。
本文的目的就是讓眾多的頁面設計者在了解搜索引擎的基礎上,尋求如何使自己的頁面在搜索引擎索返回的列表中獲得好的排列層次的方法。

"搜索引擎"這個術語一般統指真正意義上的搜索引擎(也就是全文檢索搜索引擎)和目錄(即目錄式分類搜索引擎),其實他們是不一樣的,其區別主要在於返回的搜索結果列表是如何編排的。

1、目錄

目錄(比如Yahoo!)返回的列表是由人工來編排的。
這類引擎提供了一份人工按類別編排的網站目錄,各類下邊排列著屬於這一類別的網站的站名和網址鏈接,再記錄一些摘要信息,對該網站進行概述性介紹(摘要可能是你提交過去的,也可以是引擎站點的編輯為你的站點所做的評價)。人們搜索時就按相應類別的目錄查詢下去。
這類引擎往往還伴有網站查詢功能,也稱之為網站檢索,即提供一個文字輸入框和一個按鈕。我們可以在文字框中輸入要查找的字、詞或短語,再點擊按鈕,便會在目錄中查找相關的站名、網址和內容提要,將查到的內容列表送過來。目前國內Sohoo、常青藤等都是這種搜索方式。

2、搜索引擎

搜索引擎(如HotBot)是自動創建列表的。
搜索引擎看起來與目錄的網站查詢非常相似,也提供一個文字輸入框和按鈕,使用方法也相同,而且有些也提供分類目錄,但兩者卻有本質上的區別。
目錄的資料庫中,搜集保存的是各網站的站名、網址和內容提要;搜索引擎的資料庫中,搜集保存的則是各網站的每一個網頁的全部內容,范圍要大得多。
搜索引擎是以全文檢索的方式工作的。全文檢索查到的結果不是站名、網址和內容提要,而是與你輸入的關鍵詞相關的一個個網頁的地址和一小段文字。在這段文字中,可能沒有你輸入的那個關鍵詞,它只是某一網頁的第一段話,甚至是一段無法看懂的標記,但在這個網頁中,一定有你所輸入的那個關鍵詞,或者相關的詞彙。打個比方說,網站查詢可以查到網上有哪些報紙,如《文匯報》、《大公報》,而全文檢索則可以查到網上這些報紙的每一篇文章中的詞彙。

3、兩者相結合的搜索引擎

某些搜索引擎同時也提供目錄。包含在搜索引擎中的目錄通常質量比較高,也能從那裡找到許多好站點。因為即使你把你的站點提交過去,也並不能保證一定被加到目錄中去,他們把注意力放在那些已經在別的目錄中存在的站點上,並有選擇地尋找有吸引力的加到自己的目錄中。
搜索引擎和目錄各有各自不可替代的功用。目錄比較簡單,要想獲得一個好的排列層次,除了你努力創建一個好內容的高品質站點外別無他法。搜索引擎復雜得多,它們隨時都在自動地索引眾多WEB站點的最新網頁,所以常常會發現目錄所不能得到的信息。如果你改動了你的頁面,搜索引擎還隨時會發現這個變化,並重新排列你在列表中的位置。而目錄就做不到。下面專門討論搜索引擎的工作原理以及如何提高在搜索引擎列表中的排列位置。

搜索引擎(search engines)是對互聯網上的信息資源進行搜集整理,然後供你查詢的系統,它包括信息搜集、信息整理和用戶查詢三部分。

搜索引擎是一個為你提供信息「檢索」服務的網站,它使用某些程序把網際網路上的所有信息歸類以幫助人們在茫茫網海中搜尋到所需要的信息。

早期的搜索引擎是把網際網路中的資源伺服器的地址收集起來,由其提供的資源的類型不同而分成不同的目錄,再一層層地進行分類。人們要找自己想要的信息可按他們的分類一層層進入,就能最後到達目的地,找到自己想要的信息。這其實是最原始的方式,只適用於網際網路信息並不多的時候。隨著網際網路信息按幾何式增長,出現了真正意義上的搜索引擎,這些搜索引擎知道網站上每一頁的開始,隨後搜索網際網路上的所有超級鏈接,把代表超級鏈接的所有詞彙放入一個資料庫。這就是現在搜索引擎的原型。

隨著yahoo!的出現,搜索引擎的發展也進入了黃金時代,相比以前其性能更加優越。現在的搜索引擎已經不只是單純的搜索網頁的信息了,它們已經變得更加綜合化,完美化了。以搜索引擎權威yahoo!為例,從1995年3月由美籍華裔楊致遠等人創辦yahoo!開始,到現在,他們從一個單一的搜索引擎發展到現在有電子商務、新聞信息服務、個人免費電子信箱服務等多種網路服務,充分說明了搜索引擎的發展從單一到綜合的過程。

然而由於搜索引擎的工作方式和網際網路的快速發展,使其搜索的結果讓人越來越不滿意。例如,搜索「電腦」這個詞彙,就可能有數百萬頁的結果。這是由於搜索引擎通過對網站的相關性來優化搜索結果,這種相關性又是由關鍵字在網站的位置、網站的名稱、 標簽等公式來決定的。這就是使搜索引擎搜索結果多而雜的原因。而搜索引擎中的資料庫因為網際網路的發展變化也必然包含了死鏈接。

怎樣才能使搜索引擎精確地為人們提供相關的信息應該是它以後發展的方向,而不是只求綜合服務。
搜索引擎指自動從英特網搜集信息,經過一定整理以後,提供給用戶進行查詢的系統。英特網上的信息浩瀚萬千,而且毫無秩序,所有的信息象汪洋上的一個個小島,網頁鏈接是這些小島之間縱橫交錯的橋梁,而搜索引擎,則為你繪制一幅一目瞭然的信息地圖,供你隨時查閱。
搜索引擎的工作原理
搜索引擎的工作原理大致可以分為:
1、搜集信息:搜索引擎的信息搜集基本都是自動的。搜索引擎利用稱為網路蜘蛛(spider)的自動搜索機器人程序來連上每一個網頁上的超連結。機器人程序根據網頁鏈到其他中的超鏈接,就象日常生活中所說的「一傳十,十傳百……」一樣,從少數幾個網頁開始,連到資料庫上所有到其他網頁的鏈接。理論上,若網頁上有適當的超連結,機器人便可以遍歷絕大部分網頁。

2、整理信息:搜索引擎整理信息的過程稱為「建立索引」。搜索引擎不僅要保存搜集起來的信息,還要將它們按照一定的規則進行編排。這樣,搜索引擎根本不用重新翻查它所有保存的信息而迅速找到所要的資料。想像一下,如果信息是不按任何規則地隨意堆放在搜索引擎的資料庫中,那麼它每次找資料都得把整個資料庫完全翻查一遍,如此一來再快的計算機系統也沒有用。

3、接受查詢:用戶向搜索引擎發出查詢,搜索引擎接受查詢並向用戶返回資料。搜索引擎每時每刻都要接到來自大量用戶的幾乎是同時發出的查詢,它按照每個用戶的要求檢查自己的索引,在極短時間內找到用戶需要的資料,並返回給用戶。目前,搜索引擎返回主要是以網頁鏈接的形式提供的,這些通過這些鏈接,用戶便能到達含有自己所需資料的網頁。通常搜索引擎會在這些鏈接下提供一小段來自這些網頁的摘要信息以幫助用戶判斷此網頁是否含有自己需要的內容。

.

⑶ 【java】檢索 資料庫兩個欄位 一個檢索條件

使用 全文檢索 功能 按匹配度排序 ,不同的資料庫用法不一樣.
比如mysql 是 match against; sqlserver是contains.
而且資料庫也要預先配置,有點小復雜,兩句話說不清,建議網上搜搜
關鍵詞 全文檢索

另外,如果數據量大,並發高. 可以考慮solr等搜索引擎方案.

⑷ 用JAVA實現全文檢索

想做全文檢索, 文件遍歷不是一個意思么, 用File等簡單的類就可以做到了, 資料庫還沒有必要吧

⑸ 全文檢索工具有哪些

1. Lucene

Lucene的開發語言是Java,也是Java家族中最為出名的一個開源搜索引擎,在Java世界中已經是標準的全文檢索程序,它提供了完整的查詢引擎和索引引擎,沒有中文分詞引擎,需要自己去實現,因此用Lucene去做一個搜素引擎需要自己去架構.另外它不支持實時搜索,但linkedin和twitter有分別對Lucene改進的實時搜素. 其中Lucene有一個C++移植版本叫CLucene,CLucene因為使用C++編寫,所以理論上要比lucene快.
2. Sphinx

Sphinx是一個用C++語言寫的開源搜索引擎,也是現在比較主流的搜索引擎之一,在建立索引的事件方面比Lucene快50%,但是索引文件比Lucene要大一倍,因此Sphinx在索引的建立方面是空間換取事件的策略,在檢索速度上,和lucene相差不大,但檢索精準度方面Lucene要優於Sphinx,另外在加入中文分詞引擎難度方面,Lucene要優於Sphinx.其中Sphinx支持實時搜索,使用起來比較簡單方便.
3. Xapian

Xapian是一個用C++編寫的全文檢索程序,它的api和檢索原理和lucene在很多方面都很相似,算是填補了lucene在C++中的一個空缺.
4. Nutch

Nutch是一個用java實現的開源的web搜索引擎,包括爬蟲crawler,索引引擎,查詢引擎. 其中Nutch是基於Lucene的,Lucene為Nutch提供了文本索引和搜索的API.

對於應該使用Lucene還是使用Nutch,應該是如果你不需要抓取數據的話,應該使用Lucene,最常見的應用是:你有數據源,需要為這些數據提供一個搜索頁面,在這種情況下,最好的方式是直接從資料庫中取出數據,並用Lucene API建立索引.
5. DataparkSearch

DataparkSearch是一個用C語言實現的開源的搜索引擎. 其中網頁排序是採用神經網路模型. 其中支持HTTP,HTTPS,FTP,NNTP等下載網頁.包括索引引擎,檢索引擎和中文分詞引擎(這個也是唯一的一個開源的搜索引擎里有中文分詞引擎).能個性化定製搜索結果,擁有完整的日誌記錄.
6. Zettair

Zettair是根據Justin Zobel的研究成果為基礎的全文檢索實驗系統.它是用C語言實現的. 其中Justin Zobel在全文檢索領域很有名氣,是業界第一個系統提出倒排序索引差分壓縮演算法的人,倒排列表的壓縮大大提高了檢索和載入的性能,同時空間膨脹率也縮小到相當優秀的水平. 由於Zettair是源於學術界,代碼是由RMIT University的搜索引擎組織寫的,因此它的代碼簡潔精煉,演算法高效,是學習倒排索引經典演算法的非常好的實例. 其中支持linux,windows,mac os等系統.
7. Indri

Indri是一個用C語言和C++語言寫的全文檢索引擎系統,是由University of Massachusetts和Carnegie Mellon University合作推出的一個開源項目. 特點是跨平台,API介面支持Java,PHP,C++.
來自網路。

⑹ java中怎麼使用mysql全文索引

索引是自動使用的,不需要調用,至於創建索引,參照下面的sql
CREATE INDEX 索引名

ON 表名 (索引欄位);

⑺ Lucene可以對MYSQL進行全文檢索嗎

Lucene是可以的,它常見的用例就是在一個或者多個資料庫表進行全文檢索。 雖然MySql有全文檢索的功能,但是如果欄位和數據量增加,MySql的性能會減低很快。

⑻ oracle資料庫實現全文檢索

Oracle全文檢索配置方法:

1.檢查資料庫是否具有全文檢索功能(這是針對已經建成使用的資料庫)

查看用戶中是否存在ctxsys用戶,查詢角色里是否存在ctxapp角色。以上兩個中的1個不滿足(不存在),則說明沒有裝過全文檢索功能。

使用contains函數的時候,若沒有全文檢索則會報錯的。

2.若沒有,則需要手動建立,先建立全文檢索要使用的空間

sqlplus / as sysdba --進入控制台

createtablespaceIdx_ctxsysdatafile'/oradata/sg186fx/ctxsys01.;--創建全文檢索使用的表空間

3.創建全文檢索使用的用戶和角色及相應的包,則需要執行oracle自帶的一個腳本:cd $ORACLE_HOME/ctx/admin/catctx.sql

還是在sqlplus中執行:

@?/ctx/admin/catctx.sql ctxsys Idx_ctxsys temp nolock

在執行這個腳本的時候,輸入了幾個參數,第一個參數ctxsys為ctxsys用戶的密碼

第二個參數Idx_ctxsys為ctxsys用戶要使用的表空間

第三個參數temp為ctxsys用戶使用的臨時表空間

第四個參數nolock為ctxsys用戶處於解鎖狀態。

4.創建完成後,要登錄ctxsys用戶

connect ctxsys/ctxsys

執行以下腳本:@?/ctx/admin/defaults/drdefus.sql(這是個很重要的腳本,後面創建索引會使用該腳本創建的信息)

5.創建全文索引語法分析器

先要明確使用全文索引的用戶,我要使用全文索引的是sgpm用戶

因此

grantexecuteonctxsys.ctx_ddltosgpmwithgrantoption;

connect sgpm/sgpm

設置語法分析器:

execctx_ddl.drop_preference('chinalexer');
execctx_ddl.create_preference('chinalexer','chinese_lexer');

設置詞法屬性:

execctx_ddl.drop_preference('idx_c_store');
begin
ctx_ddl.create_preference('idx_c_store','BASIC_STORAGE');
ctx_ddl.set_attribut('idx_c_store','I_TABLE_CLAUSE','tablespacesIdx_ctxsy');
ctx_ddl.set_attribute('idx_c_store','I_INDEX_CLAUSE','tablespaceIdx_ctxsycompress2');
end;
/

6.創建索引

createindexsgpm.idx_c_cons_nameonsgpm.c_cons(cons_name)indextypeisctxsys.contextparameters('lexerchinalexerstorageidx_c_store');

7.同步索引

variablejobnonumber;
begin
dbms_job.submit(:jobno,'pkg_sp_tools.p_cont_sys_index();',sysdate,'trunc(sysdate)+19/24+1');--執行的是個性化方法。
end;
/

普通的就是用:

execctx_ddl.sync_index('idx_c_cons_name');

到此,全文檢索創建成功,contains函數就可以正常使用了。

注意:創建的過程中會出現ORA-29879:cannot create multiple domain index on a column listusing same indextype ,這說明在其他用戶下已經建立了該索引。

⑼ 基於Java的全文檢索技術研究的畢業論文

摘 要網路中的資源非常豐富,但是如何有效的搜索信息卻是一件困難的事情。建立搜索引擎就是解決這個問題的最好方法。本論文首先詳細介紹了基於英特網的搜索引擎的系統結構,然後從網路機器人、索引引擎、Web伺服器三個方面進行詳細的說明。為了更加深刻的理解這種技術,本人還親自實現了一個自己的Java搜索引擎——新聞搜索引擎。新聞搜索引擎是從指定的Web頁面中按照超連接進行解析、搜索,並把搜索到的每條新聞進行索引後加入資料庫。然後通過Web伺服器接受客戶端請求後從索引資料庫中搜索出所匹配的新聞。本人在介紹搜索引擎的章節中除了詳細的闡述技術核心外還結合了新聞搜索引擎的實現代碼來說明,圖文並茂、易於理解。 關鍵字:搜索引擎,網路機器人,Lucene,中文分詞,JavaCC AbstractThe resources in the internet are abundant, but it is a difficult job to search some useful information. So a search engine is the best method to solve this problem. This article fist introces the system structure of search engine based on the internet in detail, and then gives a minute explanation form Spider search, engine and web server. In order to understand the technology more deeply, I have programmed a news search engine by myself in Java.The news search engine is explained and searched according to hyperlink from a appointed web page, then indexes every searched information and adds it to the index database. Then after receiving the customers' requests from the web server, it soon searches the right news form the index engine,In the chapter of introcing search engine, it is not only elaborating the core technology, but also combine with the modern code, pictures included, easy to understand. Key Words:Search Engine, Spider, Lucene, Phrase Query, JavaCC 目 錄第1章 引言··· 11.1 選題背景:··· 11.2 現實意義··· 1第2章 搜索引擎的結構··· 32.1 系統概述··· 32.2 搜索引擎的構成··· 32.2.1 網路機器人··· 32.2.2 索引與搜索··· 32.2.3 Web伺服器··· 32.3 搜索引擎的主要指標及分析··· 42.4 小節··· 4第3章 網路機器人··· 53.1 什麼是網路機器人··· 53.2 網路機器人的結構分析··· 53.2.1 如何解析HTML· 53.2.2 該類幾種重要的方法。··· 63.2.3 Spider程序結構··· 63.2.4 如何構造Spider程序··· 73.2.5 如何提高程序性能··· 83.2.6 網路機器人的代碼分析··· 93.3 小節··· 10第4章 基於Lucene的索引與搜索··· 114.1 什麼是全文檢索與全文檢索系統?··· 114.2 什麼是Lucene全文檢索··· 124.3 Lucene的系統結構分析··· 134.3.1 系統結構組織··· 134.3.2 數據流分析··· 144.4 Lucene索引構建邏輯模塊分析··· 154.4.1 緒論··· 154.4.2 對象體系與UML圖··· 164.4.3 Lucene的包結構··· 204.4.4 Lucene的主要邏輯圖··· 214.4.5 對Lucene包的小結··· 224.5 Lucene查詢邏輯··· 224.5.1 查詢者輸入查詢條件··· 224.5.2 查詢條件被傳達到查詢分析器中··· 224.5.3 查詢遍歷樹··· 234.5.4 返回結果··· 234.6 Lucene 檢索原理··· 234.7 Lucene和Nucth的中文分析模塊··· 254.7.1 Nutch分析··· 254.7.2 Nutch中文搜索3.1 中文分詞··· 264.7.3 利用JavaCC構造中文分析模塊··· 274.7.4 分詞小結··· 284.8 Lucene與Spider的結合··· 284.8.1 Index類的實現··· 284.8.2 HTML解析類··· 294.9 Lucene 小結··· 31第5章 基於Lucene的搜索引擎實現··· 325.1 基於Tomcat的Web伺服器··· 325.1.1 什麼是基於Tomcat的Web伺服器··· 325.2 用戶介面設計··· 325.2.1 客戶端設計··· 325.2.2 服務端設計··· 335.3 在Tomcat上部署項目··· 355.4 小節··· 35第6章 搜索引擎策略··· 366.1 簡介··· 366.2 面向主題的搜索策略··· 366.2.1 導向詞··· 366.2.2 網頁評級··· 366.2.3 權威網頁和中心網頁··· 376.3 小節··· 38結束語··· 39參考文獻··· 40致 謝··· 41外文資料原文··· 42外文原文翻譯··· 48 第1章 引言
1.1 選題背景:
面對浩瀚的網路資源,搜索引擎為所有網上沖浪的用戶提供了一個入口,毫不誇張的說,所有的用戶都可以從搜索出發到達自己想去的網上任何一個地方。因此它也成為除了電子郵件以外最多人使用的網上服務。搜索引擎技術伴隨著WWW的發展是引人注目的。搜索引擎大約經歷了三代的更新發展:第一代搜索引擎出現於1994年。這類搜索引擎一般都索引少於1,000,000個網頁,極少重新搜集網頁並去刷新索引。而且其檢索速度非常慢,一般都要等待10秒甚至更長的時間。在實現技術上也基本沿用較為成熟的IR(Information Retrieval)、網路、資料庫等技術,相當於利用一些已有技術實現的一個WWW上的應用。在1994年3月到4月,網路爬蟲World Web Worm (WWWW)平均每天承受大約1500次查詢。大約在1996年出現的第二代搜索引擎系統大多採用分布式方案(多個微型計算機協同工作)來提高數據規模、響應速度和用戶數量,它們一般都保持一個大約50,000,000網頁的索引資料庫,每天能夠響應10,000,000次用戶檢索請求。1997年11月,當時最先進的幾個搜索引擎號稱能建立從2,000,000到100,000,000的網頁索引。Altavista搜索引擎聲稱他們每天大概要承受20,000,000次查詢。結束語
本課題對基於網際網路的Java搜索引擎結構和性能指標進行了分析,了解Spider程序的結構和功能。在進行海量數據搜索時,如果使用單純的資料庫技術,那將是非常痛苦的,速度將是極大的瓶頸。所以本文提出了使用全文搜索引擎Lucene進行索引、搜索。解決中文分詞和有效的中文搜索信息。同時解決了如何把Lucene全文搜索引擎和Spider程序互相集合來實現新聞搜索的功能。對於如何構架基於Tomcat的Web伺服器,使得用戶通過瀏覽器進行新聞的搜索有了一定的理解,對Tomcat如何部署進行了說明。
在些基礎上,終於可以調試出一個簡單的在本地搜索新聞Java搜索引擎。

參考文獻
[1] Jeff Heaton(美), Programming Spiders, Bots, and Aggregator in Java.
[2] Borland Software Corporation(美),JBuilder培訓教程(譯者:周鵬 [等] 譯)北京:機械工業出版社
[3]徐寶文,張衛豐. 搜索引擎與信息獲取技術.北京:清華大學出版社,2003.5
[4]車東.基於Java的全文搜索引擎Lucene
[5]羅旭.主題搜索引擎的設計與實現
[6]Bruce Eckel(美).Thinking in Java.北京:機械工業出版社
[7] Otis Gospodnetic Erik Hatcher (美).Action in Lucene.電子工業出版社,2007.1
[8]耿祥義,張躍平. JAVA2實用教程(第二版).北京:清華大學出版社,2004.2
[9]劉彬.JSP資料庫高級教程.北京:清華大學出版社,2006.3
[10]劉衛國,嚴暉.資料庫技術與應用——SQL Server.北京:清華大學出版社,2007.1
[11]閆宏飛.Tiny Search Engine: Design and implementation(PPT). Oct.2003
[12]李曉明,閆宏飛,王繼民.搜索引擎——原理、技術與系統.北京:科學出版社,2004

更多參考請點擊 http://www.lw5173.com/article/html/707.html

⑽ java中如何實現全文檢索

java的開源的免費全文檢索工具Lucene
Lucene不是一個完整的全文索引應用,而是是一個用Java寫的全文索引引擎工具包,它可以方便的嵌入到各種應用中實現針對應用的全文索引/檢索功能。

Lucene的作者:Lucene的貢獻者Doug Cutting是一位資深全文索引/檢索專家,曾經是V-Twin搜索引擎(Apple的Copland操作系統的成就之一)的主要開發者,後在Excite擔任高級系統架構設計師,目前從事於一些INTERNET底層架構的研究。他貢獻出的Lucene的目標是為各種中小型應用程序加入全文檢索功能。

Lucene的發展歷程:早先發布在作者自己的www.lucene.com,後來發布在SourceForge,2001年年底成為APACHE基金會jakarta的一個子項目:http://jakarta.apache.org/lucene/

已經有很多Java項目都使用了Lucene作為其後台的全文索引引擎,比較著名的有:

Jive:WEB論壇系統;
Eyebrows:郵件列表HTML歸檔/瀏覽/查詢系統,本文的主要參考文檔「TheLucene search engine: Powerful, flexible, and free」作者就是EyeBrows系統的主要開發者之一,而EyeBrows已經成為目前APACHE項目的主要郵件列表歸檔系統。
Cocoon:基於XML的web發布框架,全文檢索部分使用了Lucene
Eclipse:基於Java的開放開發平台,幫助部分的全文索引使用了Lucene

對於中文用戶來說,最關心的問題是其是否支持中文的全文檢索。但通過後面對於Lucene的結構的介紹,你會了解到由於Lucene良好架構設計,對中文的支持只需對其語言詞法分析介面進行擴展就能實現對中文檢索的支持。