1

SOLR/Lucene にクエリとドキュメント ID のリストを送信したいと考えています。クエリから、通常のトップ N スコアの結果が欲しいのですが、指定されたドキュメントのスコアも取得したいと思います...それらがどんなに低くても。

単一のインデックススキャンでこれを行うための簡単でサポートされている方法を誰でも思いつくことができますか? N 結果? (特殊なクラスで SOLR にパッチを適用することは問題ありません。既存のサポートがない場合は、それを行う必要があるかもしれません。)

または、それに失敗した場合、理想的には、参照クエリの上位 N にほぼ匹敵するように名前付きドキュメントのスコアをスケーリングできる方法で、フォローアップ クエリでシミュレートできますか?

または、おそらく私の意図した用途と同じかそれ以上ですが、M (M=2 以上) の個別のクエリを含む SOLR/Lucene インデックスに対して単一のリクエストを作成し、上位にある結果を返すことができますか? -N は、M 個のクエリのいずれかに対して、すべての結果について、M 個すべての個別のクエリに対するスコアを含めますか?

(上記の定式化でも、新しいクエリと一緒にスコアリングするドキュメントのリストは、通常、以前のクエリの結果です。)

解決策または可能なアプローチの断片だけでも大歓迎です!

4

2 に答える 2

0
于 2012-09-11T06:14:56.727 に答える
0

あなたが達成したいことを正しく理解しているかどうかはわかりませんが、単純ではありません

 q: (somequery) OR id: (1 OR 2 OR 4)

足ります?両方の部分を同じスケールでブーストしたい場合 (これが Solr のデフォルトの動作ではないかどうかはわかりません)、dismax または edismax を使用すると、クエリは次のように変更されます。

 q: (somequery)^10 OR id: (1 OR 2 OR 4)^10

次に、ID で定義された要素とクエリ結果の両方を同じ方法でスコア付けします。

于 2012-09-07T13:43:19.120 に答える