关于SolrRequestHandler

<!---->

SolrRequestHandler

SolrRequestHandler一个solr插件,它控制着处理request的逻辑。

 

 

配置

多个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

客户端可以通过带有“gt”这个参数的“/select/ url”请求,也可以通过在solrconfig.xml配置的方式来决定要访问的SolrRequestHandler。对于上面的例子,假设它运行在localhost:8983/solr/上,你能够这样访问

  http://localhost:8983/solr/select/?qt=foo&...
  http://localhost:8983/solr/select/?qt=bar&...
  http://localhost:8983/solr/baz?...
  http://localhost:8983/solr/update/my-pdf-reader?...

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

  1. 寻找name属性跟请求中的qt参数匹配的handler

  2. 寻找在配置文件中“default=true”的handler

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

  4. 使用StandardRequestHandler的默认实例

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

实现一个 Request Handler

The easiest way to implement SolrRequestHandler is to extend the RequestHandlerBase class. Also see the list of Request Handlers below for examples.

实现一个SolrRequestHandler 最简单的方法是去扩展 RequestHandlerBase 类。也参考下面的几个Request Handlers

可用的Request Handlers

The Javadocs contain a complete list of Request Handlers. Many of which have their own wiki pages...

javadoc文档里面包含有完整的Request Handlers 列表。许多的Request Handlers 都有自己的wiki文档

 

last edited 2008-4-25  by mxsfengg

你可能感兴趣的:(xml,Solr,qt)