前言:本文只介紹了全文檢索的基礎概念,後面陸續會介紹 lucece 的使用。我們生活種的資料總體分為兩種:結構化資料和非結構化資料
常見的結構化資料也就是資料庫中的資料。在資料庫中搜尋很容易實現,通常都是使用sql語句進行查詢,而且能很快的得到查詢結果。
為什麼資料庫搜尋很容易?
因為資料庫中的資料儲存是有規律的,有行有列而且資料格式、資料長度都是固定的。
從多個文字檔案中找出包含 spring 單詞的檔案。
幾種方式實現:
將非結構化資料中的一部分資訊提取出來,重新組織,使其變得有一定結構,然後對此有一定結構的資料進行搜尋,從而達到搜尋相對較快的目的。這部分從非結構化資料中提取出的然後重新組織的資訊,我們稱之索引。
最常見的:字典。字典的拼音表和部首檢字表就相當於字典的索引,對每乙個字的解釋是非結構化的,如果字典沒有音節表和部首檢字表,在茫茫辭海中找乙個字只能順序掃瞄。然而字的某些資訊可以提取出來進行結構化處理,比如讀音,就比較結構化,分聲母和韻母,分別只有幾種可以一一枚舉,於是將讀音拿出來按一定的順序排列,每一項讀音都指向此字的詳細解釋的頁數。我們搜尋時按結構化的拼音搜到讀音,然後按其指向的頁數,便可找到我們的非結構化資料——也即對字的解釋。
這種先建立索引,再對索引進行搜尋的過程就叫全文檢索(full-text search)。
可以使用lucene實現全文檢索。**lucene是apache下的乙個開放源**的全文檢索引擎工具包。**提供了完整的查詢引擎和索引引擎,部分文字分析引擎。lucene的目的是為軟體開發人員提供乙個簡單易用的工具包,以方便的在目標系統中實現全文檢索的功能。
官網: 論壇搜尋、微博、文章搜尋
【lucene】系列文章
【lucene】全文檢索技術介紹
【lucene】實現全文檢索
【lucene】索引庫的維護
【lucene】索引庫的查詢
lucene 全文檢索
在講全文檢索之前,先說下資訊檢索。資訊檢索通俗的講,就是從資訊集合中找出與使用者相關的資訊,除了文字之外,還有音訊 影象等。全文檢索 把使用者的查詢請求和全文中的每個詞進行比較,不考慮查詢請求與文字語義上的匹配。b 全文檢索是指計算機索引程式通過掃瞄文章中的每乙個詞,對每乙個詞建立乙個索引,指明該詞...
Lucene全文檢索
流程圖 一.建立文件 文件域 注 每乙個doucment可以有多個field,不同的document可以有不同的field,同乙個document可以有相同的field 網域名稱和域值都相同 每乙個文件都有唯一的編號 二.分析文件 將文件中的大寫轉化成小寫,清除 is a 標點 停用詞等過程生成語彙...
Lucene全文檢索初探
1 全文檢索是什麼 先建立索引,再對索引進行搜尋的過程。2 為什麼需要全文檢索 在網頁搜尋時,如果沒有全文檢索,每一次檢索資料都會對資料庫進行查詢,當資料庫的資料量非常大時,搜尋起來非常耗時以及耗費資源,所以我們可以先將資料庫的資料採集出來,提前對這些資料進行整理,建立索引,將這些索引檔案儲存到伺服...