solr searching 过程解析

标签: solr searching 解析 | 发表时间:2014-01-10 21:34 | 作者:sharp-fcc
出处:http://www.iteye.com

翻译自 Apache Solr Reference Guide 

 

solr提供了一个十分灵活,可拓展的搜索特性,当我们发送一个请求的时候,一个search query 被一个叫做requst handler处理,solr提供许多类型的request handler,有的是为了处理搜索请求的,还有一些设计成帮助管理请求的。

 

能够处理搜索请求的request handler叫做 query parser,不同的query parser支持不同的特性,solr包含一个标准的(LUCENE)和 拓展的DISMAX, 标准的能获得更好的准确性,DISMAX容错能力比较强。

 

一般而言,一个query parser的输入包含如下几个部分:

搜索字符串

一些参数微调field,或者剔除一些无关内容

一些参数控制responce的展现形式

 

这里有一个facet的概念,facet可以看成是一个目录,相当于组织数据的一个维度,在每一个目录中,facet constrain表示solr汇报相关的搜索结果,faceting方便用户查看比如在一些电影网站查看搜索结果。

 

solr的一个组件叫做 response writer组织返回的展现,比如XML response writer  和  JSON response writer.

 

相关性:

相关性是衡量一个结果对于这个用户的满足程度。

相关性的好坏取决于不同的环境,比如一个搜索服务,里面有天气的数据,一个大学的研究者试图研究气象的变化,一个农民倾向于知道什么时候是冬天的第一场雪,一个大学的学生更加倾向于什么时候放假,不同动机的用户自然相关性也会差别非常大。

如何全面的评判一个搜索的相关性,在不同的应用会有巨大差距,比如搜一张票据,和找一个蛋糕的配方会有巨大差距,所以在配置solr的时候,你得权衡好及时性和易用性。

关于相关性有两个概念:

 

Precision 准确率:返回的结果中相关结果的百分比

 Recall 召回率:返回的相关结果占有所有相关结果的百分比

用好这两个概念,有可能量化相关性的结果,一个牛逼的系统能够有100%的召回率和100%的准确率,返回给系统的结果全是相关的,没有其他乱七八糟的,但是在真实的系统中,我们是在一定数量的结果中讨论这件事,比如说10个结果。

 

以下几点可以考虑在配置相关性中:

1. 使用用户的需求,比如要求易用,极快的响应速度,对信息准确性要求高

2. 考虑category的使用

3. 文档内在的相关性,一个官方的或者FAQ的结果应该排在上面。

4.  考虑文档的年龄,是否需要越新越靠前

 

 

 



已有 0 人发表留言,猛击->> 这里<<-参与讨论


ITeye推荐



相关 [solr searching 解析] 推荐:

solr searching 过程解析

- - 互联网 - ITeye博客
翻译自 Apache Solr Reference Guide . solr提供了一个十分灵活,可拓展的搜索特性,当我们发送一个请求的时候,一个search query 被一个叫做requst handler处理,solr提供许多类型的request handler,有的是为了处理搜索请求的,还有一些设计成帮助管理请求的.

Solr SpellCheck 应用

- - 开源软件 - ITeye博客
通过对各类型的SpellCheck组件学习,完成项目拼写检查功能. 本文使用基于拼写词典的实现方式,solr版本为5.3.0. SpellCheck 简述. 拼写检查是对用户错误输入,响应正确的检查建议. 比如输入:周杰轮,响应:你是不是想找 周杰伦. Solr的拼写检查大致可分为两类,基于词典与基于Solr索引.

Solr DocValues详解

- - 企业架构 - ITeye博客
什么是docValues. docValues是一种记录doc字段值的一种形式,在例如在结果排序和统计Facet查询时,需要通过docid取字段值的场景下是非常高效的. 为什么要使用docValues. 这种形式比老版本中利用fieldCache来实现正排查找更加高效,更加节省内存. 倒排索引将字段内存切分成一个term列表,每个term都对应着一个docid列表,这样一种结构使得查询能够非常快速,因为term对应的docid是现成就有的.

solr的使用

- - Web前端 - ITeye博客
solr的原理不和大家一一讲述,主要讲solr在使用过程中的注意事项.  首先是安装solr,安装步骤省略. (不要说我懒,安装步骤导出都是. 成功之后 需要在solr里面建立一个针对你的业务的服务,我想建立一个叫做discuz的服务. 然后你在你的solr目录 :solr-5.5.3/server/solr/  下看见了discuz   ,这是你刚刚创建的,针对某一业务的整个搜索配置都是在这个目录下配置的.

Solr调优参考

- - 淘宝网通用产品团队博客
共整理三部分,第一部分Solr常规处理,第二部分针对性性处理,前者比较通用,后者有局限性. 务必根据具体应用特性,具体调节参数,对比性能. 具体应用需要全面去把控,各个因素一起起作用. 第一部分. E文连接 http://wiki.apache.org/solr/SolrPerformanceFactors.

Solr之缓存篇

- - 淘宝网综合业务平台团队博客
Solr在Lucene之上开发了很多Cache功能,从目前提供的Cache类型有:. 而每种Cache针对具体的查询请求进行对应的Cache. 本文将从几个方面来阐述上述几种Cache在Solr的运用,具体如下:. (1)Cache的生命周期. (2)Cache的使用场景. (3)Cache的配置介绍.

Solr主从备份

- - 研发管理 - ITeye博客
SOLR复制模式,是一种在分布式环境下用于同步主从服务器的一种实现方式,因之前提到的基于rsync的SOLR不同方式部署成本过高,被SOLR1.4版本所替换,取而代之的就是基于HTTP协议的索引文件传输机制,该方式部署简单,只需配置一个文件即可. 以下讲解具体操作步骤: . 步骤分主服务器和从服务器,允许有多个从服务器,即从服务器的配置一样.

solr相似匹配

- - CSDN博客推荐文章
相似匹配   在我们使用网页搜索时,会注意到每一个结果都包含一个 “相似页面” 链接,单击该链接,就会发布另一个搜索请求,查找出与起初结果类似的文档. Solr 使用 MoreLikeThisComponent(MLT)和 MoreLikeThisHandler 实现了一样的功能. 如上所述,MLT 是与标准 SolrRequestHandler 集成在一起的;MoreLikeThisHandler 与 MLT 结合在一起,并添加了一些其他选项,但它要求发布一个单一的请求.

Solr与Mysql集成指南

- sun - 草根网:互联网界的读者文摘
在《企业级搜索引擎Solr使用入门指南》及《企业级搜索引擎Solr交流》中对Solr的使用做了简单介绍. 在数据库驱动的应用中,当时采....

Solr\Lucene优劣势分析

- - 淘宝网综合业务平台团队博客
最早lucene2.4以及以前,追溯到2008年前后,lucene刚刚引起大家的关注,到后来Nutch. 、solr的出现,lucene变得更加热. Nutch、Solr的发展,极大推动了lucene的升级. 对于一些接触过搜索,使用过lucene、solr的人来说,一般都会感觉lucene、solr很牛逼.