首页 > Web开发 > 详细

《从Lucene到Elasticsearch:全文检索实战》学习笔记四

时间:2019-01-09 12:09:13      阅读:156      评论:0      收藏:0      [点我收藏+]
今天我给大家讲讲布尔检索模型基本概念

布尔检索模型:

? ? ? ?检索模型是判断文档内容与用户相关性的核心技术,以大规模网页搜索为例,在海量网页中与用户查询关键词相关的网页可能会有成千上万个,甚至耕读哦。那么信息检索系统是如何判断网页和查询关键词是相关的?内部的排序模型是怎样的?

? ? ? 布尔检索模型中主要有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.精确匹配返回的结果集较少,容易漏掉部分信息? ??

《从Lucene到Elasticsearch:全文检索实战》学习笔记四

原文:http://blog.51cto.com/13971805/2340401

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!