一、Lucene基本介紹:

  • 基本信息:Lucene 是 Apache 軟件基金會(huì)的一個(gè)開(kāi)放源代碼的全文檢索引擎工具包,是一個(gè)全文檢索引擎的架構(gòu),提供了完整的查詢(xún)引擎和索引引擎,部分文本分析引擎。Lucene 的目的是為軟件開(kāi)發(fā)人員提供一個(gè)簡(jiǎn)單易用的工具包,以方便的在目標(biāo)系統(tǒng)中實(shí)現(xiàn)全文檢索的功能,或者是以此為基礎(chǔ)建立起完整的全文檢索引擎。

  • 文件結(jié)構(gòu):自上而下樹(shù)形展開(kāi),一對(duì)多。

    • 索引Index:相當(dāng)于庫(kù)或者表。

    • 段Segment:相當(dāng)于分庫(kù)或者分表。

    • 文檔Document:相當(dāng)一條數(shù)據(jù) ,如小說(shuō)吞噬星空

    • 域Field:一片文檔可以分為多個(gè)域,相當(dāng)于字段,如:小說(shuō)作者,標(biāo)題,內(nèi)容。。。

    • 詞元Term:一個(gè)域又可以分為多個(gè)詞元,詞元是做引搜索的最小單位,標(biāo)準(zhǔn)分詞下得詞元是一個(gè)個(gè)單詞和漢字。

  • 正向信息:

    • 索引->段->文檔->域->詞

  • 反向信息:

    • 詞->文檔?!?/p>

二、Lucene全文檢索:

1、數(shù)據(jù)分類(lèi):

  • 結(jié)構(gòu)化數(shù)據(jù):數(shù)據(jù)庫(kù),固定長(zhǎng)度和格式的數(shù)據(jù)。

  • 半結(jié)構(gòu)化數(shù)據(jù):如xml,html,等..。

  • 非結(jié)構(gòu)化數(shù)據(jù):長(zhǎng)度和格式都不固定的數(shù)據(jù),如文本...

2、檢索過(guò)程:Luncene檢索過(guò)程可以分為兩個(gè)部分,一個(gè)部分是上圖左側(cè)結(jié)構(gòu)化,半結(jié)構(gòu)化,非結(jié)構(gòu)化數(shù)據(jù)的索引建立過(guò)程,另一部分是右側(cè)索引查詢(xún)過(guò)程。

  •  索引過(guò)程:

    • 有一系列被索引文件

    • 被索引文件經(jīng)過(guò)語(yǔ)法分析和語(yǔ)言處理形成一系列詞(Term)。

    • 經(jīng)過(guò)索引創(chuàng)建形成詞典和反向索引表。

    • 通過(guò)索引存儲(chǔ)將索引寫(xiě)入硬盤(pán)/內(nèi)存。

  •  搜索過(guò)程:

    • 用戶(hù)輸入查詢(xún)關(guān)鍵字。

    • 對(duì)查詢(xún)語(yǔ)句經(jīng)過(guò)語(yǔ)法分析和語(yǔ)言分析得到一系列詞(Term)。

    • 通過(guò)語(yǔ)法分析得到一個(gè)查詢(xún)樹(shù)。

    • 通過(guò)索引存儲(chǔ)將索引讀入到內(nèi)存。

    • 利用查詢(xún)樹(shù)搜索索引,從而得到每個(gè)詞(Term)的文檔鏈表,對(duì)文檔鏈表進(jìn)行交,差,并得到結(jié)果文檔。

    • 將搜索到的結(jié)果文檔對(duì)查詢(xún)的相關(guān)性進(jìn)行排序。

    • 返回查詢(xún)結(jié)果給用戶(hù)。

平面設(shè)計(jì)培訓(xùn),網(wǎng)頁(yè)設(shè)計(jì)培訓(xùn),美工培訓(xùn),游戲開(kāi)發(fā),動(dòng)畫(huà)培訓(xùn)

延伸閱讀

學(xué)習(xí)是年輕人改變自己的最好方式-Java培訓(xùn),做最負(fù)責(zé)任的教育,學(xué)習(xí)改變命運(yùn),軟件學(xué)習(xí),再就業(yè),大學(xué)生如何就業(yè),幫大學(xué)生找到好工作,lphotoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動(dòng)軟件開(kāi)發(fā)培訓(xùn),網(wǎng)站設(shè)計(jì)培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)學(xué)習(xí)是年輕人改變自己的最好方式