在调用solrj客户端代码前,确保solrConfig.xml中含有一个requestHandler配置,它的属性name 不以/开始,如:下面的standard不以/开始。这是运用solr qt 参数的前提。
<requestHandler name="standard" class="solr.StandardRequestHandler" default="true">
<lst name="defaults">
<str name="echoParams">explicit</str>
<int name="rows">10</int>
<str name="fl">*</str>
<str name="version">2.1</str>
</lst>
</requestHandler>
java代码片段:
//获取solrServer,项目中的通用类
EmbeddedSolrServer solr = (EmbeddedSolrServer)Util.getSolrServie("solr core name");
SolrQuery parameters = new SolrQuery();
parameters.set("q", "DOC_ID:\"8a440f6534adea190134ae041e2a0065\"");
//参数设置,qt参数是很重要的,用于选择Request Handler 请求处理器
parameters.set("qt", "/mlt");
parameters.set("mlt", "true");
parameters.set("mlt.fl", "MC,BT,SEARCHCONTENT,UUID");
parameters.set("wt","json");
QueryResponse response = solr.query(parameters);
SolrDocumentList docs = response.getResults();