3

具体来说,如果我正在使用 solr mlt 处理程序 ( http://wiki.apache.org/solr/MoreLikeThisHandler ) 和 stream.body 进行查询以提供源文档,有没有办法根据文档年龄来提升结果文档?

我已经知道如何使用 dismax ( http://wiki.apache.org/solr/FunctionQuery#Date_Boosting ) 为常规查询执行此操作,但我无法完全弄清楚为 mlt 处理程序执行此操作的魔法咒语。

4

1 回答 1

1

看起来 mlt 处理程序是为处理以下两种情况之一而编写的:

  1. q=[typical query goodness which can include date boosting]
  2. stream.body=[url]

如果q存在,stream.body则被忽略,反之亦然,所以不幸的是,我认为您无法在不修补 MoreLikeThisHandler 的情况下在一次调用中执行您想要的操作。


但是:如果您急需这个,您可以通过两个查询来完成

  1. 运行相同的 MLT 查询仅用于检索有趣的术语和提升(例如使用mlt.interestingTerms=details&mlt.boost=true&rows=0
  2. 使用 (1) 中的有趣术语和提升,使用您想要的日期提升功能运行标准 Solr 查询(非 MLT)。
于 2012-05-29T18:32:04.713 回答