0

好吧,我想编写自定义请求处理程序。所以我想回顾一下 solr 附带的“标准请求处理程序”的代码。我在哪里可以找到处理程序的源代码。我没有在我的 solr 目录中找到它。

4

2 回答 2

1

您可以从此链接查看 StandardRequestHandler 的源代码。可以通过http://svn.apache.org/viewvc/lucene/dev/以只读视图访问整个源代码树

我鼓励您查看 Solr Wiki 上的RequestHandler 文档以获取参考和指导。

于 2013-04-26T14:32:54.083 回答
1

为了在 solr 中创建和使用自定义请求处理程序,您需要:

  1. 编写一个从SearchHandler自定义逻辑扩展并处理的类。
  2. 更新solrconfig.xml以添加使用自定义请求处理程序的端点。

自定义 Solr 请求处理程序类

public class MyCustomRequestHandler extends SearchHandler {

  @Override
  public void handleRequestBody(SolrQueryRequest solrRequest,
    SolrQueryResponse solrResponse) throws Exception {

    /// modify solr request object

    // let solr handle the modified request
    super.handleRequestBody(solrRequest, solrResponse); 

    // optionally modify solr response object
  }
}

Solr 配置

<requestHandler name="/custom_endpoint"
  class="org.example.MyCustomRequestHandler" default="true">
  <lst name="defaults">
    <str name="echoParams">explicit</str>
    <str name="wt">json</str>
    <str name="defType">edismax</str>

    ... rest of configuration

  </lst>
</requestHandler>
于 2016-11-12T22:43:40.867 回答