我正在使用SolrPhpClient通过PHP与Solr进行交互。
我正在使用带有' edismax'的自定义请求处理程序(/ select_test) Solr配置文件中的功能
<requestHandler name="/select_test" class="solr.SearchHandler">
<lst name="defaults">
<str name="echoParams">explicit</str>
<str name="wt">json</str>
<!-- Query settings -->
<str name="defType">edismax</str>
<str name="qf">
text name topic description
</str>
<str name="df">text</str>
<str name="mm">100%</str>
<str name="q.alt">*:*</str>
<str name="rows">10</str>
<str name="fl">*,score</str>
<str name="mlt.qf">
text name topic description
</str>
<str name="mlt.fl">text,name,topic,description</str>
<int name="mlt.count">3</int>
</lst>
</requestHandler>
我将&#39; qt&#39; 参数的值设置为&#39; / select_test&#39;在$search_options
数组中,将其作为参数传递给 Apache_Solr_Service 的搜索功能,如下所示:
$search_options = array(
'qt' => '/select_test',
'fq' => 'topic:games',
'sort' => 'name desc'
);
$result = $solr->search($query, 0, 100000, $search_options);
它根本不会调用请求处理程序。通话将转至默认&#39; / select&#39; solr配置文件中的处理程序。
只是为了确认我将自定义请求处理程序代码放在默认处理程序中并且它有效。
为什么会这样?我不是说得对吗?
请帮忙!