5

Solr では、特定の MoreLikeThis リクエスト ハンドラを使用せずに、標準 (dismax) クエリから「More Like This」結果セットを制限/フィルタリングできるかどうか疑問に思っています。たとえば、2 か国のドキュメントを含む Solr インデックスがあります。元の (dismax) クエリを実行するときは、フィールド クエリ演算子 (fq) を使用して、関心のある国の結果をフィルター処理します。しかし、返される MLT の結果は両国のものです。mlt.fl=country,name を使用して「国と名前が類似している結果をさらに表示する」ことを示してみましたが、国の基準に従っていないようです (または、少なくとも名前パラメーターが国パラメーターをはるかに上回っています)。 .

これに対するオプションがあることを示す Solr のドキュメントを見つけることができないようですが、Solr の専門家の 1 人がこのための気の利いたトリック/ハックを持っていることを願っています。

前もって感謝します!

4

1 に答える 1

0

Solr mlt.flは、これらのフィールドに基づいて関連ドキュメントを検索することになっています。ただし、fq のNOT 句のように、そうする義務はありません。回避策は、fq パラメータを使用して国を除外することです。したがって、mlt クエリは次のようになります。

/mlt?q=id:ID&fq=-country:COUNTRY&mlt.boost=true

ID: MLT を計算する必要があるドキュメント ID。COUNTRY: 除外する国。

于 2011-10-03T08:11:09.813 に答える