Lucene是apache軟件基金會 jakarta項目組的一個子項目,是一個開放源代碼的全文檢索引擎工具包,即它不是一個完整的全文檢索引擎應用,而是一個全文檢索引擎的架構,提供了完整的查詢引擎和索引引擎,部分文本分析引擎(英文與德文兩種西方語言)。Lucene的目的是為軟件開發人員提供一個簡單易用的工具包,以方便的在目標系統中實現全文檢索的功能,或者是以此為基礎建立起完整的全文檢索引擎。
Lucene入門、 全文檢索的概念,倒排索引的概念、 建立索引、 搜索、 中文分詞的實現、 Nutch入門、 串知識點Html,css,javascript,servlet,jsp,mysql, 介紹MVC的概念、 演示借用一些javascript的成熟的框架實現頁面的特殊效果。例如:rico、 學會使用myeclipse、 熟悉mysql數據庫的用法、 什么時候用lucene、 數據庫大量數據,文本。
本文主要敘述如何通過引入Commons-VFS項目來擴展Lucene的索引文件存儲方式。在閱讀本文之前,您必須對Lucene有一定的了解,最好是有編寫過Lucene代碼。另外文章中所提到的Lucene如果不做特殊說明指的是Lucene的Java版本。使用過Lucene來做為搜索引擎的朋友知道,Lucene默認的使用文件系統來存儲索引文件。
概述本手冊首先介紹了Lucene的概念,詳細描述了簡單快速地將Lucene融入WEBDT運行平臺并進行實際開發的方法,使技術人員對Lucene有一個概要性的框架認識,為下一步開發工作奠定基礎。LUCENE簡介什么是LUNCENELucene是一套javaAPI,就如同Servlet是一套API一樣。Lucene不是一個獨立的搜索引擎系統,但是你可以使用Luncene來開發搜索引擎系統。這正如Servlet不是網站系統但是你可以用Servlet開發網站一樣。有人已經用Lucene開發出了獨立的搜索引擎系統,你可以下載,然后不寫一行代碼就是用它。Nutch是最出名的了。
lucene默認的排序方式,在lucene中也被稱為“評分機制”,可以同過給sort對象傳遞一個null來實現,也可以通過調用sort默認的構造函數來實現
Lucene3.0之結果排序(1):原理傳統上,人們將信息檢索系統返回結果的排序稱為“相關排序”(relevanceranking),隱含其中各條目的順序反映結果和查詢的相關程度。
Lucene是一個高效的,基于Java的全文檢索庫。所以在了解Lucene之前要費一番工夫了解一下全文檢索。那么什么叫做全文檢索呢?這要從我們生活中的數據說起。我們生活中的數據總體分為兩種:結構化數據和非結構化數據。結構化數據:指具有固定格式或有限長度的數據,如數據庫,元數據等。非結構化數據:指不定長或無固定格式的數據,如郵件,word文檔等。當然有的地方還會提到第三種,半結構化數據,如XML,HTML等,當根據需要可按結構化數據來處理,也可抽取出純文本按非結構化數據來處理。
Lucene是一個全文搜索框架,而不是應用產品。因此它并不像www.baidu.com 或者google Desktop那么拿來就能用,它只是提供了一種工具讓你能實現這些產品。
Compass是一流的開放源碼JAVA搜索引擎框架,對于你的應用修飾,搜索引擎語義更具有能力。依靠頂級的Lucene搜索引擎,Compass結合了,像Hibernate和Spring的流行的框架,為你的應用提供了從數據模型和數據源同步改變的搜索力.
Lucene基礎指南Lucene是apache下的一個采用java實現的全文搜索引擎,功能非常強大,而它的API又比較簡單,主要就做兩件事:建立索引和進行搜索。
全文檢索(Full-Text Retrieval)是指以文本作為檢索對象,找出含有指定詞匯的文本。全面、準確和快速是衡量全文檢索系統的關鍵指標。 關于全文檢索,我們要知道:1,只處理文本。2,不處理語義。3,搜索時英文不區分大小寫。4,結果列表有相關度排序。
Lucene的索引結構從大到小分為以下幾個概念:index,segments,document(以下可能簡稱為doc),field,termIndex(索引),一個索引,包括所有需要的信息內容;Segments(段),可以理解為一個子索引(sub-index),每當往index中新加入一個doc時,都會新生成一個segments保存這個doc,然后通過判斷,合并部分segments,最后通過優化索引的命令,把所有的segments合并成一個index;Document(文檔),一般以document為單位往index中添加記錄,一個document可以是一個txt,一個html或者是數據庫的一條記錄。一個document由幾個field的組成;
Lucene是一個全文檢索引擎的架構,提供了完整的查詢引擎和索引引擎。Lucene以其方便使用、快速實施以及靈活性受到廣泛的關注。它可以方便地嵌入到各種應用中實現針對應用的全文索引、檢索功能,本總結使用lucene--2.3.2。
Directory的另外一個實現類是RAMDirectory,測試的時候可以將索引保存在內存中,然后測試完成后就自動銷毀了,不在硬盤中留下任何痕跡。 2:Lucene只能處理文本。因為Lucene的內核本身只處理String和Reader兩種對象。可以處理非文本,但是處理起來沒有那么簡單,需要轉換。
網絡中的資源非常豐富,但是如何有效的搜索信息卻是一件困難的事情。建立搜索引擎就是解決這個問題的最好方法。本文首先詳細介紹了基于英特網的搜索引擎的系統結構,然后從網絡機器人、索引引擎、Web服務器三個方面進行詳細的說明。為了更加深刻的理解這種技術,本人還親自實現了一個自己的搜索引擎——新聞搜索引擎。 新聞搜索引擎是從指定的Web頁面中按照超連接進行解析、搜索,并把搜索到的每條新聞進行索引后加入數據庫。然后通過Web服務器接受客戶端請求后從索引數據庫中搜索出所匹配的新聞。 本人在介紹搜索引擎的章節中除了詳細的闡述技術核心外還結合了新聞搜索引擎的實現代碼來說明,圖文并茂、易于理解。
全文檢索是計算機程序通過掃描文章中的每一個詞,對每一個詞建立一個索引,指明該詞在文章中出現的次數和位置。當用戶查詢時根據建立的索引查找,類似于通過字典的檢索字表查字的過程。全文檢索系統是按照全文檢索理論建立起來的用于提供全文檢索服務的軟件系統。
Lucene簡介、Lucene工程代碼結構、核心Index類介紹、Lucene各種Query 。
Lucene是什么包括:全文索引庫。簡單的語言解析功能。不包括:爬蟲、文檔格式解析、“PageRank”等排序算法。
Lucene是一個使用Java語言寫的全文檢索開發包(API),利用它可以實現強大的檢索功能,它的詳細介紹大家可以去Google上搜索一下,本文重點放在Solr相關的討論上。