如何忽略Solr中searchhandler组件中的searchcomponent

时间:2015-11-05 15:06:03

标签: apache solr solrj

我的配置定义如下:

    <requestHandler name="/search" class="org.apache.solr.handler.component.SearchHandler">
     <lst name="defaults">
      <str name="spellcheck">true</str>
         .
         .
         .
    </lst>
    <arr name="components">
      <str>search</str>
      <str>search_custom_response_builder</str>
    </arr>
  </requestHandler>

现在,当我执行查询时,我希望执行search和search_custom_response_builder,但出于测试目的,我想看到仅搜索的输出。我怎样才能做到这一点?我知道使用另一个Requesthandler是微不足道的,但我想知道是否有更好的方法。在那儿?我可以告诉Solr只能从搜索中获得结果而不是search_custom_response_builder吗?

1 个答案:

答案 0 :(得分:0)

如果查看标准示例,可以看到搜索组件具有启用标志,例如:

<!-- Clustering Component

   You'll need to set the solr.clustering.enabled system property
   when running solr to run with clustering enabled:

        java -Dsolr.clustering.enabled=true -jar start.jar

   http://wiki.apache.org/solr/ClusteringComponent
   http://carrot2.github.io/solr-integration-strategies/
-->
<searchComponent name="clustering"
               enable="${solr.clustering.enabled:false}"
               class="solr.clustering.ClusteringComponent" >

因此,您可以将其作为参数传递给启动脚本。我也相信你可以specify that in the core.properies file

如果你有一个最近的5.x Solr,你也可以查看Request Parameters and/or useParams,虽然我不确定它是否支持组件块(它应该)。在useParams的情况下,附加参数成为URL中的另一个变量。