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 ハンドラーは、次の 2 つのケースのいずれかを処理するように作成されているようです。

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

q存在する場合stream.bodyは無視され、その逆も同様であるため、残念ながら、MoreLikeThisHandler にパッチを適用しない限り、1 回の呼び出しで必要なことを行うことはできないと思います。


BUT: 急いでこれが必要な場合は、2 つのクエリで実行できます。

  1. 興味深い用語とブーストを取得する目的でのみ、同じ MLT クエリを実行します (例: を使用mlt.interestingTerms=details&mlt.boost=true&rows=0) 。
  2. (1) の興味深い用語とブーストを使用して、必要な日付ブースト関数を使用して標準の Solr クエリ (非 MLT) を実行します。
于 2012-05-29T18:32:04.713 に答える