1.7.1 solr Searching概述
1. Overview of Searching in Solr
在用户运行一个solr搜索时,搜索查询会被request handler处理.一个request handler就是一个请求处理插件,这个插件定义了在solr处理请求时的请求处理逻辑 .solr支持多种request handler.一些用于搜索处理查询,然而其他的用于管理任务,如索引的replication(复制).
搜索应用选择了一部分request handler作为默认请求处理程序.另外,应用也可以被配置来允许用户重写request handler.
为了处理搜索查询,request handler调用query parser,用于解释查询的条件和参数.不同的查询解析(query parser)支持不同的语法.默认的查询解析器时DisMax解析器.
solr也包含一个早期的"standard" (Lucene) query parser, Extended DisMax(eDisMax) 查询解析器.标准(standard)查询解析器允许更精确的查询,DisMax查询解析容忍更多的错误.DisMax查询解析器的目的是提供一个类似于流行的搜索引擎如Google,很少显示语法错误给用户的搜索体验.扩展的DisMax是DisMax的一个提高版本,处理完全的Lucene的查询语法,同时还容忍语法错误。它还包括几个附加的特性.
另外,还有一些所有查询解析器可以接受的常用查询参数:
输入给一个查询解析器,需要包含如下:
- 搜索字符串,也就是索引中的查询短语.
- 参数 通过增加部分字符串或者字段的权重,通过应用布尔逻辑中的查询搜索条件,者通过从搜索结果中排除内容等来微调查询.
- 参数 用于控制查询结果的展示,如指定查询结果顺序,限制结果字段显示.
查询参数也许会指定query filter.作为搜索响应的一部分,查询过滤器对整个索引和缓存过滤查询结果.因为solr为查询过滤器分配了一个单独的缓存,战略性地使用过滤器的查询可以提高搜索性能(尽管名称相似,查询过滤器和分析过滤器是不相关的).
搜索查询可以请求一部分短语在搜索结果中高亮.solr支持多短语(multi-term)高亮.solr包含一个丰富的搜索参数设置用于控制高亮.
搜索响应也可以被配置成包括片段-snippets(文档摘要),具有高亮显示的文本.一些流行的搜索引擎如Google和Yahoo,返回搜索结果中的片段:3-4行文字,提供的一个搜索结果的描述。
solr支持两种方式进行分组查询,以帮助进一步探索:
Faceting是对搜索结果分类排列的功能(基于索引短语).在每个类别中,solr呈现了每个term命中的数量.分面很容易让用户探索网站上,如电影网站和产品评论网站,那里有许多类别和类别中的许多物品的搜索结果。
下面的图片从CNET网站分面的例子:
Clustering(聚类):在执行搜索时通过相似发现来分组搜索结果.聚类结果往往缺乏如分面搜索中那样的整齐的层次结构.但聚类仍然可以是有用的.它可以显示搜索结果中意想不到的共性,它可以帮助用户排除不相关的内容.
solr同样支持相似查询功能(MoreLikeThis).
response writer 管理查询响应的最终结果显示.solr包含多种的response writer.包含 XML Response Writer和JSON Response Writer.
下图总结了搜索过程中的一些关键要素:
1.7.1 solr Searching概述的更多相关文章
- solr 从零学习开始
2010-10 目 录 1 1.1 1.2 1.2.1 1.2.2 1.2.3 1.2.4 1.2.5 1.2.6 1.2.7 1.3 1.3.1 1.3.2 1.4 1.4.1 1.4.2 1.4. ...
- solr基础使用概述
概述:solr 作为搜索引擎系统,它应该包含两部分内容,分别是:索引系统 和 搜索系统. 索引系统 它主要负责将外部不同数据源的数据转换为 solr 格式规范的数据格式(我们称之为:SolrInput ...
- Solr第一讲——概述与入门
一.solr介绍 1.什么是solr Solr 是Apache下的一个顶级开源项目,采用Java开发,它是基于Lucene的全文搜索服务器.Solr可以独立运行在Jetty.Tomcat等这些Serv ...
- Solr学习笔记(4) —— SolrCloud的概述和搭建
一.概述 1.1 什么是SolrCloud Lucene是一个Java语言编写的利用倒排原理实现的文本检索类库: Solr是以Lucene为基础实现的文本检索应用服务.Solr部署方式有单机方式.多机 ...
- Solr学习笔记(1) —— Solr概述&Solr的安装
一.概述 使用Solr实现电商网站中商品信息搜索功能,可以根据关键字.分类.价格搜索商品信息,也可以根据价格进行排序. 1.1 实现方法 在一些大型门户网站.电子商务网站等都需要站内搜索功能,使用传统 ...
- Solr:Slor初识(概述、Windows版本的安装、添加IK分词器)
1.Solr概述 (1)Solr与数据库相比的优势 搜索速度更快.搜索结果能够按相关度排序.搜索内容格式不固定等 (2)Lucene与Solr的区别 Lucene提供了完整的查询引擎和索引引擎,目的是 ...
- Solr入门之(1)前言与概述
一.前言:为何选择Solr 由于搜索引擎功能在门户社区中对提高用户体验有着重在门户社区中涉及大量需要搜索引擎的功能需求,目前在实现搜索引擎的方案上有几种方案可供选择: 1. 基于Lucene自己进行封 ...
- Solr集群的搭建概述(非教程)
1.什么是SolrCloud SolrCloud(solr 云)是Solr提供的分布式搜索方案,当你需要大规模,容错,分布式索引和检索能力时使用 SolrCloud.当一个系统的索引数据量少的时候是不 ...
- Solr搜索解析及查询解析器用法概述
一.简介 大多数查询都使用 了标准的Solr语法.这种语法是Solr最常见的,由默认查询解析器负责处理.Solr的默认查询解析器是Lucene查询解析器[LuceneQParserPlugin类实现] ...
随机推荐
- Powershell导入订阅号(以Azure中国版为例)
1. 首先,您需要安装Windows Azure Powershell.下载的链接为:http://go.microsoft.com/?linkid=9811175&clcid=0x409 2 ...
- C++11常量表达式
[C++11之常量表达式] 关键字:constexpr: 中文学名:常量表达式. constexpr用于把运行期计算放置在编译期. 使用constexpr有3个限制: 1.函数中只能有一个return ...
- How to create custom methods for use in spring security expression language annotations
From:http://stackoverflow.com/questions/6632982/how-to-create-custom-methods-for-use-in-spring-secur ...
- PL SQL笔记(三)
loop then .. exit; end if; end loop; select to_char(sysdate, 'YYYY-MM-DD HH24:MI:SS') from dual; sel ...
- DB Cache
1 DB Cache 是以bock为单位组织的缓冲区,不同大小的BLOCK对应不同的缓冲区参数 2 DB Cache的命中率越高,访问性能就越好 3 Cache中的数据块通过散列算法实现 4 每个链上 ...
- iOS开发-HTTP请求
什么是URL?URL就是资源的地址.位置,互联网上的每个资源都有一个唯一的URLURL的基本格式: URL中常见的协议 (1)HTTP 超文本传输协议,访问的是远程的网络资源,格式是http:// h ...
- TT付款方式、前TT和后TT、LC信用证+TT付款方式
TT付款方式是以外汇现金方式结算,由您的客户将款项汇至贵公司指定的外汇银行账号内,可以要求货到后一定期限内汇款. .T/T属于商业信用,也就是说付款的最终决定权在于客户.T/T分预付,即期和远期.现在 ...
- C#FTP下载文件出现远程服务器返回错误: (500) 语法错误,无法识别命令
如果下载多个文件的时候,有时候莫名其妙的出现500服务器错误,很有可能是没有设置KeepAlive 属性导致的. 出现应用程序未处理的异常:2015/1/6 11:40:56 异常类型:WebExce ...
- 终于可以发布Delphi下收点OSGI精髓皮毛而设计的插件框架WisdomPluginFramework
这是一个Delphi实现的插件框架,我耗费了相当相当相当多的精力来设计她,虽然仅闪着点我微薄智慧的光芒,但我还是决定用Wisdom来命名她,也因它是我绝无仅有的,在完成1年多后回头来看仍能相当满意的作 ...
- 如何查询redhat的版本信息
cat /etc/redhat-release lsb_release -a