示例为solr-4.5.1
可以参照
<requestHandler name="/select" class="solr.SearchHandler">
<lst name="defaults">
<str name="echoParams">explicit</str>
<int name="rows">10</int>
<str name="df">text</str>
</lst>
</requestHandler>
定义自己的
<requestHandler name="/query/buildinggroup" class="solr.SearchHandler">
<lst name="defaults">
<str name="omitHeader">true</str>
<str name="echoParams">explicit</str>
<str name="wt">json</str>
<str name="indent">true</str>
<str name="fl">name,cat,address</str>
<str name="rows">1000000</str>
<str name="fq">name:张</str>
<str name="sort">cat asc</str>
<str name="q">*:*</str>
<str name="group">true</str>
<str name="group.field">cat</str>
</lst>
</requestHandler>
也可以扩展RequestHandlerBase类实现自己的handler
一、代码
package test.src;
import java.util.ArrayList;
import org.apache.solr.common.params.DisMaxParams;
import org.apache.solr.common.params.SolrParams;
import org.apache.solr.common.util.NamedList;
import org.apache.solr.common.util.SimpleOrderedMap;
import org.apache.solr.handler.RequestHandlerBase;
import org.apache.solr.request.SolrQueryRequest;
import org.apache.solr.response.SolrQueryResponse;
public class CustomizedRequestHandler extends RequestHandlerBase{
public String getDescription() {
return "Solr customized";
}
public String getSource() {
return "20150929.1545";
}
public void handleRequestBody(SolrQueryRequest req, SolrQueryResponse res)throws Exception {
SolrParams params = req.getParams();
System.out.println("customized ......");
res.add("query", req.getParamString());
}
}
打成jar放入webapp下的solr的Web-inf的lib目录下
二、配置
solrconfig.xml中配置
<requestHandler name="/test" class="test.src.CustomizedRequestHandler">
<lst name="defaults">
<str name="echoParams">explicit</str>
<str name="wt">json</str>
<str name="indent">true</str>
<str name="df">text</str>
</lst>
</requestHandler>
欢迎访问我的技术群425783133