zoukankan      html  css  js  c++  java
  • 《从Lucene到Elasticsearch:全文检索实战》学习笔记四

    今天我给大家讲讲布尔检索模型基本概念

    布尔检索模型:

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

          布尔检索模型中主要有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
    版权声明:本文为博主原创文章,转载请附上博文链接!

  • 相关阅读:
    CopyOnWriteArrayList 写时复制思想
    CAS中ABA问题的解决
    彻底解决Chrome“请停用以开发者模式运行的扩展程序”提示(亲测整合)
    解决软件安装无法自定义文件夹,自动安装在C盘 (Windows系统)
    IDEA降低注解检测级别
    大白话带你认识JVM(转)
    Windows 与 Linux (CentOS7) 之间的文件共享
    Dubbo、Zookeeper 以及 Tomcat 启动的相关问题
    创建 maven 项目的时候遇到的问题
    MyBatis 项目的 jar 包导入与源码导入
  • 原文地址:https://www.cnblogs.com/yinhongke/p/10242369.html
Copyright © 2011-2022 走看看