1. 程式人生 > >《從Lucene到Elasticsearch:全文檢索實戰》學習筆記四

《從Lucene到Elasticsearch:全文檢索實戰》學習筆記四

思維方式 ear 作者 邏輯 優先 原創 blog article 開源

今天我給大家講講布爾檢索模型基本概念

布爾檢索模型:

檢索模型是判斷文檔內容與用戶相關性的核心技術,以大規模網頁搜索為例,在海量網頁中與用戶查詢關鍵詞相關的網頁可能會有成千上萬個,甚至耕讀哦。那麽信息檢索系統是如何判斷網頁和查詢關鍵詞是相關的?內部的排序模型是怎樣的?

布爾檢索模型中主要有AND、OR、NOT三種邏輯運算,布爾邏輯運算符的作用是把檢索詞連接起來,構成一個邏輯檢索式。

AND:邏輯與,用來表示其所連接的兩個檢索項的交叉部分,即檢索詞的交集部分

OR:邏輯或,用於連接並列關系的檢索詞。
NOT:邏輯非,排除不需要的和影響檢索結果的概念

運算符之間的優先級:NOT>AND>OR,如檢索表達式:中國 NOT 日本 AND 歌曲 OR 小說

利用小括號”()“可以設置個性化的檢索方程,例如檢索出不包含日本在內的有關教育或法律方面的大學:

(university OR college)AND (education OR Law) NOT Japan

如下圖為單詞-文檔矩陣(單詞-文檔矩陣是表達兩者之間所具有的一種包含關系的概念模型)我需要查詢包含“谷歌” “開源”但不包含“大會”的文檔,構造布爾查詢:

單詞文檔矩陣
doc1 doc2 doc3 doc4
谷歌 0 1 0 1
開源 0 1 0 1
大會 1 0 0 0

谷歌 AND 開源 NOT 大會

分別取出“谷歌” “開源” 以及“大會”對應的行向量,對“大會”對應的行向量去反算:

谷歌 :0 1 0 1

開源:0 1 0 1

大會:1 0 0 1 (取反:0 1 1 1)

0101 AND 0101 AND 0111 =0101

布爾檢索模型優點如下:

1.符合人們的思維方式,通過AND OR NOT輕松可以表達

2.實現方式很容易實現

布爾檢索模型的缺點:

1.它的值只有0,1,缺乏文檔分級不能進行進行排序

2.精確匹配返回的結果集較少,容易漏掉部分信息
---------------------
作者:柯之夢
來源:CSDN
原文:https://blog.csdn.net/yin4302008/article/details/86103760
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!

《從Lucene到Elasticsearch:全文檢索實戰》學習筆記四