转自:http://www.cnblogs.com/chenying99/archive/2012/07/24/2607339.html

1. standard (StandardRequestHandler)

标准查询分析器使用SolrQuerySyntax通过q参数来指定查询,它要求被很好的组织(Formed),或返回一个异常。对于精确查询和任意复杂的查询,使用Standard效果很好。
 
2. dismax ( DismaxRequestHandler )
dismax查询分析器是一个为用户提供的更宽容的查询分析器,查询字符串直接传递一个q参数。其他参数可以很容易搜索横跨多个Field,使用Disjunctions和不严格的短语查询返回高度相关的结果。
 
这里的“部分匹配”,是指返回的结果没有完全匹配所有搜索的关键词。

DisMaxQParserPluign里有一个参数mm(Minimum 'should' match),设置整个搜索关键词中最小需要匹配的数量。这里给出例子

"2" : 无论关键词一共有多少,doc最少需要匹配2个

"75%" : doc最少需要匹配75%的关键词,关键词个数向下取整。

"2<-25%" : 关键词少于3个的时候,doc需要全部匹配;大于等于3个的时候,doc最少需要匹配75%

"2<-1 5<80%" : 关键词少于3个的时候,需要全部匹配;3-5个的时候,只能有一个不匹配;大于5个的时候,最少需要匹配80%

默认mm为100%,也就是所有关键词都必须有匹配。即使在schema.xml里设置operator为OR,也要受到mm的限制,也就是无法全部匹配关键词的doc都不在结果集中。

3. /mlt (MoreLikeThisHandler)

MoreLikeThis查询,又叫以文找文。
 

4. /dataimport (DataImportHandler)

数据导入请求处理,需要配置相应的数据源配置文件:

<str name="config">data-config.xml</str>

5. /update (XmlUpdateRequestHandler)

更新Document请求处理
 
6. /analysis (AnalysisRequestHandler)
分析请求处理
 
 
standard和Dismax的区别

  • Standard要求输入的查询内容符合SolrQuerySyntax查询语法,特殊字符要进行转义。如果不符合语法,会报错。Dismax查询就不会存在这样的问题,对于用户的输入始终都不会报错。
  • 如何想在title和Subject两个Field中查找包含Superman的索引?
    • The standard request handler uses SolrQuerySyntax for q:
    • q=title:superman subject:superman
    • Using the dismax request handler, specify the query fields using the qf param.
    • q=superman&qf=title subject
  • 如何让Title Field中的得分权重比Subject Field中的高?
    • For the standard request handler, "boost" the clause on the title field:
    • q=title:superman^2 subject:superman
    • Using the dismax request handler, one can specify boosts on fields in parameters such as qf:
    • q=superman&qf=title^2 subject

Solr相关概念详解:SolrRequestHandler的更多相关文章

  1. Solr部署详解

    Solr部署详解 时间:2013-11-24 方式:转载 目录 1 solr概述 1.1 solr的简介 1.2 solr的特点 2 Solr安装 2.1 安装JDK 2.2 安装Tomcat 2.3 ...

  2. Solr系列五:solr搜索详解(solr搜索流程介绍、查询语法及解析器详解)

    一.solr搜索流程介绍 1. 前面我们已经学习过Lucene搜索的流程,让我们再来回顾一下 流程说明: 首先获取用户输入的查询串,使用查询解析器QueryParser解析查询串生成查询对象Query ...

  3. Solr系列三:solr索引详解(Schema介绍、字段定义详解、Schema API 介绍)

    一.Schema介绍 1. Schema 是什么? Schema:模式,是集合/内核中字段的定义,让solr知道集合/内核包含哪些字段.字段的数据类型.字段该索引存储. 2. Schema 的定义方式 ...

  4. Solr高亮详解

    hl.fl: 用空格或逗号隔开的字段列表.要启用某个字段的highlight功能,就得保证该字段在schema中是stored.如果该参数未被给出,那么就会高亮默认字段 standard handle ...

  5. Solr查询详解

    前言:上节是关于Solr的开发准备工作:.NET开发过程中的全文索引使用技巧之Solr(http://www.cnblogs.com/johnwood/p/3447242.html) 这节重点是讲So ...

  6. Windows下安装solr步骤详解

    Solr是一个独立的企业级搜索应用服务器,它对外提供类似于Web-service的API接口.用户可以通过http请求,向搜索引擎服务器提交一定格式的XML文件,生成索引:也可以通过Http Get操 ...

  7. Solr DocValues详解

    前言: 在Lucene4.x之后,出现一个重大的特性,就是索引支持DocValues,这对于广大的solr和elasticsearch用户,无疑来说是一个福音,这玩意的出现通过牺牲一定的磁盘空间带来的 ...

  8. Solr系列六:solr搜索详解优化查询结果(分面搜索、搜索结果高亮、查询建议、折叠展开结果、结果分组、其他搜索特性介绍)

    一.分面搜索 1. 什么是分面搜索? 分面搜索:在搜索结果的基础上进行按指定维度的统计,以展示搜索结果的另一面信息.类似于SQL语句的group by 分面搜索的示例: http://localhos ...

  9. Oracle 相关概念详解

    一.前言 笔者对于Oracle数据库的理解,很长时间停留在“镜花水月”的状态,你说不懂吧,又会用,一较真起来吧,对一些基本概念又说不出一个道道来~如果想要在编码的路上走得更远,这个必定也是绕不过的坎, ...

随机推荐

  1. 图解Git/图形化的Git参考手册

    此页图解git中的最常用命令.如果你稍微理解git的工作原理,这篇文章能够让你理解的更透彻. 基本用法 上面的四条命令在工作目录.暂存目录(也叫做索引)和仓库之间复制文件. ● git add fil ...

  2. Oracle系列教程

    推荐博客:http://blog.csdn.net/leshami 具体知识点总结: 1.oracle安装:http://www.cnblogs.com/bluepoint2009/p/oracle- ...

  3. 【BZOJ】【1036】树的统计

    嗯这题是一道对树进行动态修改&查询的经典题目,可以拿来练习树链剖分~ 啊对于这种动态修改&查询的题目,我们最喜闻乐见的就是在一个序列上去做了,毕竟可以直接套各种数据结构模版啊,比如线段 ...

  4. MSDN:Code First 迁移

    来自:MSDN:Code First 迁移,完全照搬! 本演练将提供对实体框架中 Code First 迁移的概述.您可以完成整个演练,也可以跳至自己感兴趣的主题.主题如下: 启用迁移 生成并运行迁移 ...

  5. javascript和swf在网页中交互的一些总结

    Javascript和swf在网页中交互一般可有以下几种情况: 1.swf和这些调用的javascript在同域 2.swf和这些调用的javascript在不同域,比如加载远程的swf然后call别 ...

  6. zoj Fibonacci Numbers ( java , 简单 ,大数)

    题目 //f(1) = 1, f(2) = 1, f(n > 2) = f(n - 1) + f(n - 2) import java.io.*; import java.util.*; imp ...

  7. javascript console

    javascript console console.log(object[, object, ...])在控制台输出一条消息.如果有多个参数,输出时会用空格隔开这些参数. 第一个参数可以是一个包含格 ...

  8. struts.properties的参数描述

    A.2.1 概述 如果我们希望覆盖在default.properties文件里面定义的默认配置,那就可以定义struts.properties文件,在里面设置我们需要的值,当然现在也可以在struts ...

  9. shell如何自动输入密码

    shell如何自动输入密码 http://linux.ctocio.com.cn/171/12162171.shtml

  10. Codeforces Round #262 (Div. 2) A B C

    题目链接 A. Vasya and Socks time limit per test:2 secondsmemory limit per test:256 megabytesinput:standa ...