全文檢索介紹

2021-06-02 01:30:13 字數 1214 閱讀 4842

全文檢索介紹

資料分類

非結構化資料搜尋(全文搜尋)

倒排索引(inverted index)建立索引

1)將文件切分為乙個乙個單獨的詞

2)去除標點符號

3)去除停詞(stop word)

1)將單詞轉為小寫(lowercase)

2)將單詞縮減為詞根形式(stemming)

3)將單詞轉變為詞根形式(lemmatization)

1)將得到的詞建立詞典

2)對詞典按字母順序排序

3)合併相同的詞成為倒排表

搜尋索引

就像sql語句一樣,全文搜尋系統的查詢語句也有語法,最基本的如:and,or,not等

舉例,輸入的查詢語句為:lucene and solr not hadoop

分析查詢語句中的單詞、關鍵字,對語句中的單詞進行語言處理(等同建立索引中的語言處理),然後按語法規則生成語法樹。

過程大概如下

1)首先,在倒排索引中,分別找出包含單詞lucene, solr, hadoop的文件鍊錶

2)其次,對包含lucene, solr的文件鍊錶進行合併操作,得到即包含lucene又包含solr的文件鍊錶

3)然後,對得到的文件鍊錶與hadoop的文件鍊錶比較排除,得到即包含lucene又包含solr的但不包含hadoop的文件鍊錶

4)最後,得到的文件鍊錶就是我們要找的結果集

對結果集中的每個文件按相關性(relevance)進行打分(scoring),分數最高的排在最前面。而推算文件的相關性一般分為兩個過程

1)找出詞(term)在文件中重要性的過程,也稱計算權重(termweight)的過程

影響乙個詞(term)在一篇文件中的重要性主要有兩個因素

term frequency (tf):即此term在此文件中出現了多少次,tf越大說明越重要

document frequency (df):即有多少文件包含次term,df越大說明這個詞越普通,也就越不重要

2)判斷term之間的關係從而得到文件相關性的過程,也即向量空間模型的演算法(vector space mode)

這個演算法研究中

Lucene 全文檢索技術介紹

前言 本文只介紹了全文檢索的基礎概念,後面陸續會介紹 lucece 的使用。我們生活種的資料總體分為兩種 結構化資料和非結構化資料 常見的結構化資料也就是資料庫中的資料。在資料庫中搜尋很容易實現,通常都是使用sql語句進行查詢,而且能很快的得到查詢結果。為什麼資料庫搜尋很容易?因為資料庫中的資料儲存...

什麼叫全文檢索 全文檢索概念

全文檢索是指計算機索引程式通過掃瞄文章中的每乙個詞,對每乙個詞建立乙個索引,指明該詞在文章中出現的次數和位置,當使用者查詢時,檢索程式就根據事先建立的索引進行查詢,並將查詢的結果反饋給使用者的檢索方式。這個過程類似於通過字典中的檢索字表查字的過程。全文檢索的方法主要分為按字檢索和按詞檢索兩種。按字檢...

什麼叫全文檢索 全文檢索概念

全文檢索是指計算機索引程式通過掃瞄文章中的每乙個詞,對每乙個詞建立乙個索引,指明該詞在文章中出現的次數和位置,當使用者查詢時,檢索程式就根據事先建立的索引進行查詢,並將查詢的結果反饋給使用者的檢索方式。這個過程類似於通過字典中的檢索字表查字的過程。全文檢索的方法主要分為按字檢索和按詞檢索兩種。按字檢...