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类实现] ...
随机推荐
- 游戏模块分析总结(2)之UI、操作篇
转自:http://www.gameres.com/309812.html 游戏模块分析总结(2)之UI.操作篇 发布者: wuye | 发布时间: 2014-12-12 15:03| 评论数: 0 ...
- 【转】Java transient关键字
Volatile修饰的成员变量在每次被线程访问时,都强迫从主内存中重读该成员变量的值.而且,当成员变量发生变化时,强迫线程将变化值回写到主内存.这样在任何时刻,两个不同的线程总是看到某个成员变量的同一 ...
- 在Windows Server2008R2中导入Excel不能使用Jet 4.0的解决方法
一直使用以下代码从Excel中取数据,速度快方便: string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Dat ...
- #ifdef __cplusplus
转自:http://www.2cto.com/kf/201302/191822.html #ifdef __cplusplus,一般用于将C++代码以标准C形式输出(即以C的形式被调用),这是因为C+ ...
- Java反射机制(取得类的结构)
通过反射得到一个类中的完整的结构,就要使用java.lang.reflect包中的以下几个类: Constructor:表示类中的构造方法 Field:表示类中的属性 Method:表示类中的方法 ...
- MSSQL手札三 MSSQL存储过程
--存储过程完成一段sql代码的封装 create proc trim --参数列表,多个间用逗号分隔 ) as --自定义代码段 ) set @str1=LTRIM(RTRIM(@str)) pri ...
- HDU 5794 A Simple Chess (Lucas + dp)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5794 多校这题转化一下模型跟cf560E基本一样,可以先做cf上的这个题. 题目让你求一个棋子开始在( ...
- EasyUI_tree根据数据库数据生成树形结构JSON格式
@Entitypublic class PubComp { @Id private String aguid; // 菜单ID private String pguid; // 父菜单 private ...
- IE6 背景透明
IE6 背景透明 第 1 种方法:定义一个样式,给某个div应用这个样式后,div的透明png背景图片自动透明了.(注意两处图片的路径写法不一样,本例中,icon_home.png图片与html文件在 ...
- 无责任Windows Azure SDK .NET开发入门篇三[使用Azure AD 管理用户信息--3.4 Edit修改用户信息]
3.4 Edit修改用户信息 我们用FormCollection简化了表单提交,非常方便的进行用户信息修改. [HttpPost, Authorize] public async Task<Ac ...