概述

我们在使用solr admin在做查询的时候,能够看到Request-Hander(qt)输入栏中有“/select”这样一个uri。当我们点击查询的时候所发起的请求是这种。http://localhost:8080/solr/collection1/select?q=feature&wt=json&indent=true&_=1399167234058,我们能够看到"/select"被自己主动地加到请求的url里面。

那么solr服务在接受到这个请求的时候。就会依据"/select"这段uri来选择相应的RequestHandler。

那“/select”这个RequestHandler究竟配置在哪里呢?我们打开我们之前所配置的SOLR_HOME文件夹。在SORL_HOME\collection1\conf\文件夹下的solrconfig.xml文件里。我们找到例如以下配置,这个就是“/select”所对相应的RequestHandler了。

   <requestHandler name="/select" class="solr.SearchHandler">
<!-- default values for query parameters can be specified, these
will be overridden by parameters in the request
-->
<lst name="defaults">
<str name="echoParams">explicit</str>
<int name="rows">10</int>
<str name="df">text</str>
</lst>
</requestHandler>

Configuration

多个handlers (包含是同样的类的实例,却拥有不同的配置) 可以在solrconfig.xml 中配置。

  <requestHandler name="/foo" default="true" class="my.package.CustomRequestHandler" />
<requestHandler name="/bar" class="my.package.AnotherCustomRequestHandler" />
<!-- initialization args may optionally be defined here -->
<lst name="defaults">
<int name="rows">10</int>
<str name="fl">*</str>
<str name="version">2.1</str>
<lst>
</requestHandler> <requestHandler name="/baz" class="my.package.AnotherCustomRequestHandler">
<requestHandler name="/update/my-pdf-reader" class="my.package.MyPdfHandler">

Handler Resolution

client能够通过带有“gt”这个參数的“/select/ url”请求。也能够通过在solrconfig.xml配置的方式来决定要訪问的SolrRequestHandler。对于上面的样例,如果它执行在localhost:8080/solr/上。你能够这样訪问

  http://localhost:8080/solr/select/?

qt=foo&...

  http://localhost:8080/solr/select/?

qt=bar&...

  http://localhost:8080/solr/baz?...

  http://localhost:8080/solr/update/my-pdf-reader?...

Solr是通过以下的步骤去选择一个handler并处理请求的.....

寻找name属性跟请求中的qt參数匹配的handler

寻找在配置文件里“default=true”的handler

寻找在配置文件里name属性为“standad”的handler

使用StandardRequestHandler的默认实例

注意!假设你的配置文件solrconfig.xml 包括有name属性为"/select", "/update", 或"/admin",那么你的程序将不会沿用标准的请求处理过程。而将会是你自己自己定义的逻辑。

扩展自己的Handler

实现一个SolrRequestHandler 最简单的方法是去扩展 RequestHandlerBase 类。

也參考以下的几个Request Handlers。

solr自带的Handler

眼下solr提供例如以下handler给大家使用。以下给出的solr官方文档中hander的文档,假设大家认为有必要让笔者具体解析每一个handler的使用方法。能够回复一下。笔者将会在接下来的章节中为大家解说每一个handler的具体使用方法。

Search handlers:

Update handlers:

4.跟我学solr---SolrRequestHandler具体解释的更多相关文章

  1. solr与.net系列课程(一)solr的安装与配置

    不久之前开发了一个项目,需要用到solr,因为所以在开始再网上查找资料,但是发现大部分的资料都是很片面的,要么就是只讲解solr如何安装的,要么就是只讲解solr的某一个部分的,而且很多都是资料都是一 ...

  2. Solr笔记--转载

    Solr 是一种可供企业使用的.基于 Lucene 的搜索服务器,它支持层面搜索.命中醒目显示和多种输出格式.在这篇分两部分的文章中,Lucene Java™ 的提交人 Grant Ingersoll ...

  3. solr的安装与配置

    solr的安装与配置 不久之前开发了一个项目,需要用到solr,因为所以在开始再网上查找资料,但是发现大部分的资料都是很片面的,要么就是只讲解solr如何安装的,要么就是只讲解solr的某一个部分的, ...

  4. solr简易安装配置

    之前弄了段时间的lucene,昨天下午开始学solr,准备用到项目中,在网上找了一些教程,有的不是讲得太复杂,就是讲得不在点上,花了不少冤枉时间.有的一上来就花过半的篇幅大讲特讲“3H”,(what, ...

  5. 跟我学solr---吐槽一下,我的文章被抄袭啦

    今天闲来无事,就在在百度上搜了下面"跟我学solr",看看这几周来自己的努力成果怎么样,不搜还好,搜了就图学了.被原封不动地抄袭了!并且抄袭的文章还在百度排名第一,我自己的却被排到 ...

  6. Solr Date类型的哪些你不得不了解的细节

    我们先来看看Solr日期类型的一些内幕,然后讨论一下Solr日期类型存在的一些问题,最后我们看看怎么解决现存的问题.概述 DateField 在Solr4.x之前,我们只有DateField,这类型现 ...

  7. Importing/Indexing database (MySQL or SQL Server) in Solr using Data Import Handler--转载

    原文地址:https://gist.github.com/maxivak/3e3ee1fca32f3949f052 Install Solr download and install Solr fro ...

  8. solr requestHandler

    使用哪一个handler: 1. 可以通过在url中追加有名字的handler(以 ' / ' 开头命名)的名称来指定使用哪一个handler. 如: <requestHandler name= ...

  9. Solr 6.7学习笔记(02)-- 配置文件 managed-schema (schema.xml)(1)

    刚学Solr(版本6.7.0),新建一个core时,提示要求schema.xml文件,我找了半天也没在源码包中找到名为schema.xml的文件.这个版本其实用的是managed-schema文件,没 ...

  10. Solr 6.7学习笔记(03)-- 样例配置文件 solrconfig.xml

    位于:${solr.home}\example\techproducts\solr\techproducts\conf\solrconfig.xml <?xml version="1. ...

随机推荐

  1. RDLC报表 在WinForm里运行出现 未能加载文件或程序集 Microsoft.ReportViewer.WinForms, Version=11.0.0.0 System.IO.FileNotFoundException

    原文:RDLC报表 在WinForm里运行出现 未能加载文件或程序集microsoft.reportviewer.winforms 推荐以下方案二 做一下记录顺便帮助一下遇到问题的朋友. 做RDLC报 ...

  2. C语言入门(18)——数组与字符串

    用来存放字符量的数组称为字符数组.字符串可以看作一个数组,它的元素是字符型的. 字符数组的定义 形式与前面介绍的数值数组相同.例如: char c[10]; 由于字符型和整型通用,也可以定义为int ...

  3. linux下创建可引导的U盘系统,使用dd命令进行Linux的ghost

    1,通过iso创建可引导的U盘系统. 1.0,格式化U盘为FAT32格式 linux下能够使用命令: mkfs.vfat U盘的设备路径 比如: mkfs.vfat /dev/sdb 当中U盘的路径能 ...

  4. 网站制作---eWebeditor不兼容IE8问题的解决方法

    qq交流群:创梦技术交流群:251572072                         创梦网络赚钱群:248318056                         创梦娱乐休闲群:22 ...

  5. IsNullOrEmpty和s == null || s.Length == 0哪个快

    在写扩展方法时,看到有人用==null这个方法,说快,上网找了些资料,最后在csdn的博客上看到了一篇文章,说实测是后两者快,于是我也试着做了一个程序运行了一下,却发现这样的结果: 我测试了一个,发现 ...

  6. SqlServer之表变量和临时表

    表变量: 表变量创建的语法类似于临时表,区别就在于创建的时候,必须要为之命名.表变量是变量的一种, 表变量也分为本地及全局的两种,本地表变量的名称都是以"@"为前缀,只有在本地当前 ...

  7. PO状态为“处理中”的处理方法

    EBS中经常会出现PO提交审批后状态为“处理中”的情况,此时PO创建人无法打开,审批人也无法打开,工作流等查看也无异常,可以使用一下SQL处理再进行审批: --set serveroutput on ...

  8. ORACLE EBS BOM 展开(使用标准程序bompexpl.exploder_userexit展开)

    create or replace package cux_bom_pub is PROCEDURE bom_expand_to_temp( p_organization_id number, p_i ...

  9. 用一条sql查出总长和状态为2是长度

    查询同一张表里同一个字段值的和以及状态是2(或1)时,该字段值的和

  10. JqMobi学习

    JqMobi+phonegap+html5 开发Android.ios应用