Solr基础理论【排名检索、查准率、查全率】
一.排名检索
搜索引擎代表了基于查询,返回优先文档的一种方法。在关系型数据库的SQL查询中,表的一行要么匹配一个查询,要么不匹配,查询结果基于一列或多列排序。搜索引擎根据文档与查询匹配的程度为文档打分,并按降序返回结果。匹配程度的计算取决于多个因素,一般而言,文档得分越高意味着该文档与查询的相关性越强。
在Solr中会存在单独的字段保存相关性,那就是score字段。在score字段的得分数值并非具有绝对意义,它在lucene内部仅作为相对排名,而且同一文档在不同的查询中的得分并无关系。也就是说,与查询匹配的文档相关度得分仅适用于该查询。返回的结果按照得分从低到高排序,文档得分越高。说明与该查询越相关。
优点:
1.提供清晰的导航方式,把用户越需要的放在越靠前的位置。
2.智能化程度高,用户无需考虑排序问题。
二.查准率
查准率【Precision,精度性的度量】的具体定义如下:正确匹配的文档数量/返回的文档数量【介于0.0~1.0之间】,例如:
假设某次搜索返回的文档集合为文档1、2、3,那么该查询的查准率为1.0【3个正确匹配/3个全部匹配】,这是理想状态。但是,如果返回全部6个结果,那么查准率仅为0.5,因为返回的结果中有一半是不相关的。同样地,如果只返回一个相关文档【比如文档1】,那么查准率依然是1.0,因为返回的结果都是匹配的。可见,查准率是衡量结果与查询是否相关的一个指标,但是它并不关注全面性,即使只返回了100个匹配文档中的1个,查准率依然为1.0【返回的文档中没有不匹配文档】。由于查准率仅考虑了返回结果的整体精确性,而未考虑结果集的全面性,因此需要将查全率与查准率配合使用。
三.查全率
查全率【Recall,全面性的度量,也称召回率】衡量的是搜索结果的全面性。定义如下:返回的正确匹配的文档数/全部正确匹配的文档数。如果仅返回一个匹配文档,则查全率为1/3,因为没有找到其它两个应该匹配的文档【此时查准率为1.0】。
四.查准率与查全率之间的平衡
查准率与查全率的重要区别是,如果返回的结果是正确的,则查准率高;如果正确的结果都被返回了,则查全率高。查准率不关心正确结果是否都被返回出来,而查全率不关心返回的结果是否都是正确的。
虽然查准率与查全率之间存在明显的互逆关系,但它们并不是相互排斥的。在前面的示例中,如果只返回全部匹配文档【文档1、2、3】,那么查准率和查全率就都是1.0。这是因为所有匹配且无不陪配的文档被返回了。
最大限度提升查准率与查全率是绝大多数搜索相关度优化的最终目标。人为或手动调整结果集看似简单,但事实上,这是一个具有挑战性的难题。Solr采用了许多技术用于提高查准率和查全率,其中大部分技术更倾向于提高返回完整文档集的查全率。合适的文本分析【找到词汇的多个变体】可以寻找更多匹配结果,但如果文本分析力度过大,匹配到了错误的词汇变体,那么这些额外的匹配结果可能会影响查准率。
Solr中平衡查准率与查全率的一种常见方式是在整个结果集上计算查全率,仅在搜索结果第一页【或前几页】上计算查准率。根据这一模型,调整Solr的相关度评分的计算方式,让更好的匹配结果被提升到搜索结果的顶部,而许多不良的匹配出现在搜索结果的底部。
如何做到查准率与查全率的最佳平衡,最终取决于现实情。在法律方面的搜索,查全率的重要性更高,因为如果遗漏了文档,就可能会导致一定的法律后果。对于其它现实需求而言,可能仅仅找到一些最佳匹配就可以了。若没有找到最佳匹配,返回为空即可。
大多数搜索应用处于两个极端之间。由于大多数情况下没有所谓的正确答案,所以在查准率与查全率之间取得适度平衡成为一项长期的挑战。不管怎样,理解查准率与查全率以及如何在两者之间做出调整,使得杠杆向某一遍倾斜【另一边上升】,是有效改进搜索结果质量的关键。
五.不适宜使用solr的情况
1.经常需要返回大量文档的情况。搜索引擎一般会为每个查询返回一小部分文档集合,通常为10~100个。同一查询的更多文档可以通过solr内置的分页功能获取。当需要返回大量匹配数据时,查询本身可能执行的很快,但从底层索引结构上重构大量文档时速度极其缓慢。
2.进行深度分析任务。这需要访问大量索引,即使通过分页解决上述问题,底层索引的数据结构也并不适合一次检索大量索引。
Solr基础理论【排名检索、查准率、查全率】的更多相关文章
- Solr基础理论与维护管理快速上手(含查询参数说明)
1. solr基础 因为 Solr 包装并扩展了 Lucene,所以它们使用很多相同的术语.更重要的是,Solr 创建的索引与 Lucene 搜索引擎库完全兼容.通过对 Solr 进行适当的配置,某些 ...
- solr系统query检索词特殊字符的处理
solr是基于 lucence开发的应用,如果query中带有非法字符串,结果很可能是检索出所有内容或者直接报错,所以你对用户的输入必须要先做处理.输入星号,能够检索出所有内容:输入加号,则会报错. ...
- 我的solr学习笔记--solr admin 页面 检索调试
前言 Solr/Lucene是一个全文检索引擎,全文引擎和SQL引擎所不同的是强调部分相关度高的内容返回,而不是所有内容返回,所以部分内容包含在索引库中却无法命中是正常现象. 多数情况下我们 ...
- [转]solr系统query检索词特殊字符的处理
原文地址:http://blog.csdn.net/wgw335363240/article/details/39889979 solr是基于 lucence开发的应用,如果query中带有非法字符串 ...
- Solr基础理论【相关度计算】
一.简介 寻找匹配的文档是构建优质搜索体验的关键步骤,但这仅仅是第一步.大多数用户不愿意通过逐页翻阅搜索结果来找到想要的文档.根据一般经验,仅有10%的用户在网页搜索中有意愿继续翻阅第一页以后的搜索结 ...
- Solr基础理论【倒排索引,模糊查询】
一.简介 现有的许多不同类型 的技术系统,如关系型数据库.键值存储.操作磁盘文件的map-reduce[映射-规约]引擎.图数据库等,都是为了帮助用户解决颇具挑战性的数据存储与检索问题而设计的.而搜索 ...
- 查准率(precision)和查全率(recall)
一.理解查准率(precision)& 查全率(recall) 我们在平时常用到的模型评估指标是精度(accuracy)和错误率(error rate),错误率是:分类错误的样本数站样本总数的 ...
- 【分类问题中模型的性能度量(一)】错误率、精度、查准率、查全率、F1详细讲解
文章目录 1.错误率与精度 2.查准率.查全率与F1 2.1 查准率.查全率 2.2 P-R曲线(P.R到F1的思维过渡) 2.3 F1度量 2.4 扩展 性能度量是用来衡量模型泛化能力的评价标准,错 ...
- Solr调研总结
http://wiki.apache.org/solr/ Solr调研总结 开发类型 全文检索相关开发 Solr版本 4.2 文件内容 本文介绍solr的功能使用及相关注意事项;主要包括以下内容:环境 ...
随机推荐
- Pandas | 10 排序
Pandas有两种排序方式,它们分别是 - 按标签 按实际值 import pandas as pd import numpy as np df=pd.DataFrame(np.random.rand ...
- 20165230田坤烨网络对抗免考报告_基于WIN10的渗透攻击
目录 简单信息收集 主机发现 ping nmap 端口扫描 nmap OS及服务版本探测 nmap -sV 绕过防火墙尝试 诱饵 随机数据长度 随机顺序扫描目标 MAC地址欺骗 实现win10的渗透攻 ...
- 【技术博客】Django中文件下载的实现
开发组在开发过程中,都不可避免地遇到了一些困难或问题,但都最终想出办法克服了.我们认为这样的经验是有必要记录下来的,因此就有了[技术博客]. Django中文件下载的实现 1.背景 在VisualPy ...
- Appium Grid并发测试
背景 Selenium玩的比较6的同学比较清楚:在Selenium中三大组件中有包含了Selenium Grid,而其作用就是分布式执行测试用例.主要的应用场景在于: 缩短测试执行时间,提高自动化测试 ...
- js推箱子
<head> <meta charset="utf-8" /> <title></title> <script> //创 ...
- Spring Cloud OkHttp设计原理
Spring Cloud 框架最底层核心的组件就是服务调用方式,一般Spring Cloud框架采用的是HTTP的调用框架,本文将在 Spring Cloud应用场景下,介绍组件OkHttp3的设计原 ...
- Linux低延迟服务器系统调优
最近做了一些系统和网络调优相关的测试,达到了期望的效果,有些感悟.同时,我也发现知乎上对Linux服务器低延迟技术的讨论比较欠缺(满嘴高并发现象):或者对现今cpu + 网卡的低延迟潜力认识不足(动辄 ...
- Linux指定运行级别,帮助指令(man,help)
运行级别说明: 0:关机 1:单用户[找回丢失密码] 2:多用户状态[无网络服务] 3:多用户状态[有网络服务] 4:保留级别 5:图形界面 6:系统重启 一.指定运行级别 1.修改默认运行级别 vi ...
- Akka-CQRS(7)- CQRS Reader Actor 示范
我们在这篇通过一个具体CQRS-Reader-Actor的例子来示范akka-persistence的query端编程和应用.在前面的博客里我们设计了一个CQRS模式POS机程序的操作动作录入过程,并 ...
- 【转载】linux 压缩和解压缩命令gz、tar、zip、bz2
linux系统下压缩解压缩很让人头大,每次都要查命令.转载下方便以后查阅.原文信息如下: 作者:capecape 来源:CSDN 原文:https://blog.csdn.net/capecape/a ...