如何在solr中将默认排名字段从得分更改为其他字段?

时间:2014-07-26 02:28:26

标签: solr

我想用除了得分之外的字段“tstamp”对我的solr结果进行排名,我知道它适用于q = csdn& sort = tstamp%20asc,但是我可以更改任何配置文件中的默认字段(例如solrconfig .xml),而不是为每个请求设置网址?

1 个答案:

答案 0 :(得分:3)

Solr允许您在solrconfig.xml中定义requestHandlers。这些是具有特定硬编码配置的HTTP端点。具体来说,对于搜索端点,您可以定义如下内容:

<requestHandler name="/timesort" class="solr.SearchHandler">

     <lst name="defaults">
       <str name="echoParams">explicit</str>
       <int name="rows">10</int>
       <str name="df">text</str>
       <str name="sort">tstamp asc</str>
     </lst>
</requestHandler>

(复制粘贴内置的选择处理程序并更改您需要的内容)

然后你只需查询如下:

http://yourSolr:8983/solr/yourCollection/timesort?q=csdn

默认排序将是我的tstamp asc。如果需要,您可以从查询中覆盖排序。如果要忽略传递给请求处理程序的任何内容并始终按tstamp排序,请将sort参数放在不变量中。