lucene 之 全文檢索概述

2021-07-15 13:07:18 字數 755 閱讀 7069

我們日常生活中的資料可以分成兩種,一種是結構化資料,還有一種是非結構化資料。

結構化資料就是固定格式和有限長度的資料,比如資料庫和元資料等等。

非結構化就是無固定格式和不定長的資料,比如郵件和word文件。

還有介於兩者之間的,半結構化資料,比如xml,html等,看具體需求可以有不同的處理方法。

非結構化資料還可以叫做全文資料。搜尋引擎一般是針對這種資料來索引。

一種最直觀的方法可以順序掃瞄,速度非常慢。還有一種方法,我們把非結構資料中的一些資訊抽取出來,然後變成結構化的,從而達到搜尋相對較快的目的。重新抽取出來的資訊我們稱之為索引。舉個例子,字典的拼音表就相當於索引,對於每個字的解釋是非結構化的,如果字典沒有拼音表,只能順序掃瞄,然而字的某些資訊是可以提取出來進行結構化處理的,比如讀音就比較結構化,分聲母和韻母,分別幾種可以一一舉例,於是將讀音拿出來按照一定的順序排列,每一項讀音指向此字的詳細解釋的頁數。

從字串到檔案的索引被成為反向索引。每個字串指向包含此字串的文件鍊錶,這種文件鍊錶成為倒排表。有了索引,儲存的資訊和要搜尋的資訊一致,可以大大加快搜尋的速度。

建立索引的過程如下所示:

1.  準備原文件

2.  分詞組建(tokenizer)將文件分成乙個個單獨的詞,去標點符號,去停用詞

3.  繼續傳給語言處理元件,對於英語,將單詞縮減成詞根形式等等

4.  傳給索引組建(indexer), 利用得到的詞建立乙個字典,對字典按照字母序排序,合併成文件倒排。

5.  根據相關性,對結果進行排序。

lucene 之 全文檢索概述

我們日常生活中的資料可以分成兩種,一種是結構化資料,還有一種是非結構化資料。結構化資料就是固定格式和有限長度的資料,比如資料庫和元資料等等。非結構化就是無固定格式和不定長的資料,比如郵件和word文件。還有介於兩者之間的,半結構化資料,比如xml,html等,看具體需求可以有不同的處理方法。非結構化...

lucene 全文檢索

在講全文檢索之前,先說下資訊檢索。資訊檢索通俗的講,就是從資訊集合中找出與使用者相關的資訊,除了文字之外,還有音訊 影象等。全文檢索 把使用者的查詢請求和全文中的每個詞進行比較,不考慮查詢請求與文字語義上的匹配。b 全文檢索是指計算機索引程式通過掃瞄文章中的每乙個詞,對每乙個詞建立乙個索引,指明該詞...

Lucene全文檢索

流程圖 一.建立文件 文件域 注 每乙個doucment可以有多個field,不同的document可以有不同的field,同乙個document可以有相同的field 網域名稱和域值都相同 每乙個文件都有唯一的編號 二.分析文件 將文件中的大寫轉化成小寫,清除 is a 標點 停用詞等過程生成語彙...