1

AとBの2つのフィールドを持つドキュメントがあるとします。

SOLRのMoreLikeThisを使用したいのですが、ひねりを加えて、AフィールドがモデルドキュメントのBフィールドに似ているドキュメントをブーストすることに最も興味があります。(つまり、モデルBフィールドからMLTの「興味深い用語」を抽出しますが、Aフィールドに基づいてMLT結果のみを収集します。)

mlt.flフィールドまたはmlt.qfブーストを使用して、単一のクエリでこの効果を実現する方法がわかりません。(mlt.flは、「興味深い用語」の検出とそれらの用語への一致の両方に使用されるフィールドを指定しているようです。)いくつかのオプションがありませんか?

または、「興味深い用語」を自分で抽出して、「field:term」の詳細を交換する必要がありますか?

(これと同じように他のアイデアも高く評価されています。)

4

2 に答える 2

1

私が見る2つのオプションは次のとおりです。

  1. copyFieldを使用します-Bという名前のフィールドAのコピーで元のドキュメントにインデックスを付け、Bを使用してクエリを実行します。
  2. MoreLikeThisHandlerを拡張し、クエリするフィールドを変更します。

最初のオプションは、プログラミング(主に構成の変更)とメモリ消費のコストがかかります。2つ目は、より多くのプログラミングを伴いますが、メモリフットプリントの増加はありません。それらの1つがあなたのニーズに合うことを願っています。

于 2010-10-25T09:43:57.827 に答える
0
于 2012-09-08T05:18:15.613 に答える