Solr:编写自定义请求处理程序

时间:2013-04-26 14:18:26

标签: solr

好吧,我想编写自定义请求处理程序。所以我想到了用solr来复习'标准请求处理程序'的代码。 我在哪里可以找到处理程序的源代码。我没有在我的solr目录中找到它。

2 个答案:

答案 0 :(得分:1)

您可以从此link查看StandardRequestHandler的源代码。可以通过http://svn.apache.org/viewvc/lucene/dev/

以只读方式访问源代码的整个树

我建议您查看Solr Wiki上的RequestHandler documentation以供参考和指导。

答案 1 :(得分:1)

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

  1. 编写一个从SearchHandler扩展的类并处理自定义逻辑。
  2. 更新solrconfig.xml以添加使用自定义请求处理程序的en端点。
  3. 自定义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>