1. 程式人生 > >全文檢索引擎Lucene優點 .

全文檢索引擎Lucene優點 .

Lucene最初是由Doug Cutting開發的,在SourceForge的網站上提供下載。在20019月做為高質量的免費、開源Java產品加入到Apache軟體基金會的Jakarta家族中。Lucene是一個全文檢索引擎的架構,提供了完整的查詢引擎和索引引擎。它也是一個高效能、可伸縮的資訊搜尋(IR)庫。它使你可以為你的應用程式新增索引和搜尋能力。

Lucene提供了一組簡單卻足夠強大的核心API,只需要最小限度地理解全文索引和搜尋,你只須學習它的幾個類從就能把把Lucene整合到一個應用程式中。因為Lucene是一個Java庫,它並不限定要索引和搜尋的內容,只關注文字的索引和搜尋,並且這些事它完成的非常好。Lucene

使得你的應用程式只針對它的問題域來處理業務規則,而把複雜的索引和搜尋實現隱藏在一組簡單易用的API之後。你可以把Lucene認為成一層,應用程式位於它之上。Lucene的目的是為軟體開發人員提供一個簡單易用的工具包,以方便的在目標系統中實現全文檢索的功能,或者是以此為基礎建立起完整的全文檢索引擎。

作為一個開放原始碼專案,Lucene從問世之後,引發了開放原始碼社群的巨大反響,程式設計師們不僅使用它構建具體的全文檢索應用,而且將之整合到各種系統軟體中去,以及構建Web應用,甚至某些商業軟體也採用了Lucene作為其內部全文檢索子系統的核心。apache軟體基金會的網站使用了Lucene作為全文檢索的引擎,IBM

的開源軟體eclipse[9]2.1版本中也採用了Lucene作為幫助子系統的全文索引引擎,相應的IBM的商業軟體Web Sphere[10]中也採用了LuceneLucene以其開放原始碼的特性、優異的索引結構、良好的系統架構獲得了越來越多的應用。

Lucene作為一個全文檢索引擎,其具有如下突出的優點:

1)索引檔案格式獨立於應用平臺。Lucene定義了一套以8位位元組為基礎的索引檔案格式,使得相容系統或者不同平臺的應用能夠共享建立的索引檔案。

2)在傳統全文檢索引擎的倒排索引的基礎上,實現了分塊索引,能夠針對新的檔案建立小檔案索引,提升索引速度。然後通過與原有索引的合併,達到優化的目的。

3)優秀的面向物件的系統架構,使得對於Lucene擴充套件的學習難度降低,方便擴充新功能。

4)設計了獨立於語言和檔案格式的文字分析介面,索引器通過接受Token流完成索引檔案的創立,使用者擴充套件新的語言和檔案格式,只需要實現文字分析的介面。

5)已經預設實現了一套強大的查詢引擎,使用者無需自己編寫程式碼即使系統可獲得強大的查詢能力,Lucene的查詢實現中預設實現了布林操作、模糊查詢(Fuzzy Search[11])、分組查詢等等。

面對已經存在的商業全文檢索引擎,Lucene也具有相當的優勢。首先,它的開發原始碼發行方式(遵守Apache Software License[12]),在此基礎上程式設計師不僅僅可以充分的利用Lucene所提供的強大功能,而且可以深入細緻的學習到全文檢索引擎製作技術和麵相物件程式設計的實踐,進而在此基礎上根據應用的實際情況編寫出更好的更適合當前應用的全文檢索引擎。在這一點上,商業軟體的靈活性遠遠不及Lucene。其次,Lucene秉承了開放原始碼一貫的架構優良的優勢,設計了一個合理而極具擴充能力的面向物件架構,程式設計師可以在Lucene的基礎上擴充各種功能,比如擴充中文處理能力,從文字擴充到HTMLPDF[13]等等文字格式的處理,編寫這些擴充套件的功能不僅僅不復雜,而且由於Lucene恰當合理的對系統裝置做了程式上的抽象,擴充套件的功能也能輕易的達到跨平臺的能力。最後,轉移到apache軟體基金會後,藉助於apache軟體基金會的網路平臺,程式設計師可以方便的和開發者、其它程式設計師交流,促成資源的共享,甚至直接獲得已經編寫完備的擴充功能。最後,雖然Lucene使用Java語言寫成,但是開放原始碼社群的程式設計師正在不懈的將之使用各種傳統語言實現(例如.net framework[14]),在遵守Lucene索引檔案格式的基礎上,使得Lucene能夠執行在各種各樣的平臺上,系統管理員可以根據當前的平臺適合的語言來合理的選擇。

相關推薦

全文檢索引擎Lucene優點

Lucene最初是由Doug Cutting開發的,在SourceForge的網站上提供下載。在2001年9月做為高質量的免費、開源Java產品加入到Apache軟體基金會的Jakarta家族中。Lucene是一個全文檢索引擎的架構,提供了完整的查詢引擎和索引引擎。它也是一個

全文檢索引擎Lucene優點 .

Lucene最初是由Doug Cutting開發的,在SourceForge的網站上提供下載。在2001年9月做為高質量的免費、開源Java產品加入到Apache軟體基金會的Jakarta家族中。Lucene是一個全文檢索引擎的架構,提供了完整的查詢引擎和索引引擎。它也是一個高效能、可伸縮的資訊搜尋(IR

Lucene,MG4J ,Sphinx全文檢索引擎優點

 Lucene作為一個全文檢索引擎,其具有如下突出的優點:    (1)索引檔案格式獨立於應用平臺。Lucene定義了一套以8位位元組為基礎的索引檔案格式,使得相容系統或者不同平臺的應用能夠共享建立的索引檔案。    (2)在傳統全文檢索引擎的倒排索引的基礎上,實現了分

開放原始碼的全文檢索引擎Lucene(轉載)

面對已經存在的商業全文檢索引擎,Lucene也具有相當的優勢。首先,它的開發原始碼發行方式(遵守Apache Software License[12]),在此基礎上程式設計師不僅僅可以充分的利用Lucene所提供的強大功能,而且可以深入細緻的學習到全文檢索引擎製作技術和麵相物件程式設計的實踐,進而在此基礎上根

Lucene全文檢索引擎

getname 通過 nal dem 檢索 數據庫 project cep 關閉 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSch

Lucene開源全文檢索引擎快速入門

Lucene是一個用Java開發的開源全文檢索引擎,官網是:http://lucene.apache.org/ ,Lucene不是一個完整的全文索引應用(與之對應的是solr),而是是一個用Java寫的全文索引引擎工具包,它可以方便的嵌入到各種應用中實現針對應用的全文索引/檢索功能,更多

Lucene】Apache Lucene全文檢索引擎架構之搜尋功能

  上一節主要總結了一下Lucene是如何構建索引的,這一節簡單總結一下Lucene中的搜尋功能。主要分為幾個部分,對特定項的搜尋;查詢表示式QueryParser的使用;指定數字範圍內搜尋;指定字串開

Lucene全文檢索引擎工具包使用方法總結

Lucene是apache軟體基金會4 jakarta專案組的一個子專案,是一個開放原始碼的全文檢索引擎工具包,但它不是一個完整的全文檢索引擎,而是一個全文檢索引擎的架構,提供了完整的查詢引擎和索引引擎,部分文字分析引擎(英文與德文兩種西方語言)。Lucene的目的是為軟體

在應用中加入全文檢索功能 ——基於Java的全文索引引擎Lucene簡介

在應用中加入全文檢索功能    ——基於Java的全文索引引擎Lucene簡介作者:車東 Email: chedongATbigfoot.com/chedongATchedong.com寫於:2002/08 最後更新:03/16/2005 16:27:52 Feed Back

在應用中加入全文檢索功能 ——基於Java的全文索引引擎Lucene簡介

在應用中加入全文檢索功能    ——基於Java的全文索引引擎Lucene簡介 作者: 車東 Email: chedongATbigfoot.com/chedongATchedong.com 寫於:2002/08 最後更新: 02/22/2006 14:42:55

Lucene:基於Java的全文檢索引擎簡介

     轉載自:http://www.chedong.com/tech/lucene.html      Lucene是一個基於Java的全文索引工具包。 另外,如果是在選擇全文引擎,現在也許是試試Sphinx的時候了:相比Lucene速度更快,有中文分詞的支援,而且

Lucene】Apache Lucene全文檢索引擎架構之入門實戰

  Lucene是一套用於全文檢索和搜尋的開源程式庫,由Apache軟體基金會支援和提供。Lucene提供了一個簡單卻強大的應用程式介面,能夠做全文索引和搜尋。在Java開發環境裡Lucene是一個成熟的免費開源工具。就其本身而言,Lucene是當前以

分散式全文檢索引擎之ElasticSearch

一 什麼是 ElasticSearch Elasticsearch 是一個分散式可擴充套件的實時搜尋和分析引擎,一個建立在全文搜尋引擎 Apache Lucene(TM) 基礎上的搜尋引擎.當然 Elasticsearch 並不僅僅是 Lucene 那麼簡單,它不僅包括了全文搜尋功能,還可以進行以下工作:

全文檢索技術---Lucene(概述)

資料分類: 我們生活中的資料總體分為兩種:結構化資料和非結構化資料。         1) 結構化資料:                 指具有固定格式或有限長度的資料,如資料庫,元資料等。                 因為結構化資料的儲存一般都是有規律的,

全文檢索引擎SOLR—–全文檢索基本原理

場景:小時候我們都使用過新華字典,媽媽叫你翻開第38頁,找到“坑爹”所在的位置,此時你會怎麼查呢?毫無疑問,你的眼睛會從38頁的第一個字開始從頭至尾地掃描,直到找到“坑爹”二字為止。這種搜尋方法叫做順序掃描法。對於少量的資料,使用順序掃描是夠用的。但是媽媽叫你查出坑爹的“

【手把手教你全文檢索Lucene索引的【增、刪、改、查】

前言   搞檢索的,應該多少都會了解Lucene一些,它開源而且簡單上手,官方API足夠編寫些小DEMO。並且根據倒排索引,實現快速檢索。本文就簡單的實現增量新增索引,刪除索引,通過關鍵字查詢,以及更新索引等操作。   目前博豬使用的不爽的地方就是,讀取檔案內容進行全文檢索時,需要自己編寫讀取過程(這

基於Java的全文檢索外掛——Lucene

1 lucene簡介 1.1 什麼是lucene Lucene是一個全文搜尋框架,而不是應用產品。因此它並不像www.baidu.com 或者google Desktop那麼拿來就能用,它只是提供了一種工具讓你能實現這些產品。   1 lucene簡介 要回答這個問題,先要

《自制搜尋引擎》筆記(2)-迷你全文檢索引擎Wiser-專案概述

1.基本資訊          語言:C語言          平臺:Linux / Mac OS X          資料庫:SQLite          程式碼行數:2427行   (不含utHash函式庫,不含空行,含註釋)          外部依賴函式庫:sq

全文檢索框架Lucene——Demo應用

前面兩篇博文介紹了Lucene的原理思想和架構,這篇博文就寫一下實際開發中如何使用Lucene,下面先用一個最簡單的例子描述一下。 1. 建立索引 為了簡單起見,我們下面為一些字串建立記憶體索引: StandardAnalyzer analyzer = newSta

全文檢索框架Lucene——架構

Lucene總的來說是: 一個高效的,可擴充套件的,全文檢索庫。全部用Java實現,無須配置。僅支援純文字檔案的索引(Indexing)和搜尋(Search)。不負責由其他格式的檔案抽取純文字檔案,或從網路中抓取檔案的過程。 在Lucene in action中,Luce