2013-02-17 73 views
1

我有一个类似的问题,如“在MoreLikeThis Solr的请求处理升压最近的项目” Boost recent item in MoreLikeThis Solr request handlerSolr的MoreLikeThis和使用Boost功能(升压最近的项目)

我想提振近期项目从MoreLikeThis处理程序或组件返回。 我发现bf不适用于MoreLikeThisHandler,因为它是Dismax参数。

所以我尝试以下(我solrconfig.xml中内):

<requestHandler name="/select" class="solr.SearchHandler"> 
<lst name="defaults"> 
    <str name="df">id</str> 
    <str name="mlt">true</str> 
    <str name="mlt.count">10</str> 
    <str name="mlt.fl">project,type,summary,description,environment,fixfor,component</str> 
    <str name="mlt.mintf">1</str> 
    <str name="mlt.mindf">2</str> 
    <str name="mlt.boost">true</str> 
    <str name="rows">20</str> 
    <str name="fl">id,key,project,summary,reporter,assignee,updated,score</str> 
    <str name="bf">ms(NOW/HOUR,updated)</str> 
</lst> 
<!--<arr name="components"> 
    <str>mlt</str> 
</arr>--> 

<field name="id" type="long" indexed="true" stored="true" required="true" multiValued="false" termVectors="true"/><!-- is termVector by long needed? --> 
... 
<field name="key" type="string" indexed="true" stored="true" required="true" multiValued="false"/> 
... 
<field name="description" type="text_general" indexed="true" stored="false" required="true" multiValued="false" termVectors="true"/> 
... 
<field name="updated" type="date" indexed="true" stored="true" required="false" multiValued="false"/> 
+0

我不认为您目前可以在Solr中执行此操作。您应该将MLT功能实现为MLT查询解析器而不是请求处理程序或搜索组件,并将其返回给社区。 – 2013-02-18 20:31:33

+0

我现在对Solr没有那么深入,在我尝试这样的事情之前,必须先写论文;)thx无论如何 – velop 2013-04-05 12:14:28

回答

0

MLT提升似乎并没有得到支持。
您可以查看Mlt排序补丁SOLR-1545

+0

谢谢你的帮助。我现在做了一个肮脏的修复: 请求20个文档而不是10个,并手工排序(在java中) – velop 2013-04-05 12:12:43

相关问题