具体来说,如果我正在使用 solr mlt 处理程序 ( http://wiki.apache.org/solr/MoreLikeThisHandler ) 和 stream.body 进行查询以提供源文档,有没有办法根据文档年龄来提升结果文档?
我已经知道如何使用 dismax ( http://wiki.apache.org/solr/FunctionQuery#Date_Boosting ) 为常规查询执行此操作,但我无法完全弄清楚为 mlt 处理程序执行此操作的魔法咒语。
具体来说,如果我正在使用 solr mlt 处理程序 ( http://wiki.apache.org/solr/MoreLikeThisHandler ) 和 stream.body 进行查询以提供源文档,有没有办法根据文档年龄来提升结果文档?
我已经知道如何使用 dismax ( http://wiki.apache.org/solr/FunctionQuery#Date_Boosting ) 为常规查询执行此操作,但我无法完全弄清楚为 mlt 处理程序执行此操作的魔法咒语。
看起来 mlt 处理程序是为处理以下两种情况之一而编写的:
q=[typical query goodness which can include date boosting]
stream.body=[url]
如果q
存在,stream.body
则被忽略,反之亦然,所以不幸的是,我认为您无法在不修补 MoreLikeThisHandler 的情况下在一次调用中执行您想要的操作。
但是:如果您急需这个,您可以通过两个查询来完成
mlt.interestingTerms=details&mlt.boost=true&rows=0
)