2

Lucene を使用して、コンポーネントに名前と型のインデックスを付けています。一部のコンポーネントはより重要であるため、より大きなブーストが得られます。ただし、ブーストを適切に機能させることができません。ブーストが高いにもかかわらず、いくつかのコンポーネントが後で表示されるようにします (スコアが悪くなります)。

インデックス作成は 1 つのフィールドのみで行われ、そのフィールドのみにブーストを設定したことに注意してください。JavaでLuceneを使用しています。

フィールドの長さとは何の関係もないと思います。同じ名前の (ただしタイプが異なる) コンポーネントが間違ったスコアを取得するのを見てきました。

4

5 に答える 5

2

Searcher.explainを使用して、各ドキュメントのスコアがどのように導き出されるかを調べます。スコアの重要な基準の1つは、フィールドの長さです。短いフィールドでの一致は、より高いスコアを取得します。

于 2009-03-12T06:14:14.937 に答える
1

lukeを使用して、インデックスに何が格納されているかを正確に確認することをお勧めします。ドキュメントブーストを使用していますか?可能な説明を確認するには、スコアリングのドキュメントを参照してください。

于 2009-02-19T19:37:28.397 に答える
0

ブーストは、ヒットのLuceneスコアの1つの要素にすぎません。しかし、それは機能するはずです。あなたが見ている行動のより完全な例と、あなたが期待することを教えてください。

于 2009-02-18T12:23:52.653 に答える
0

覚えているように、ブースティングは、あるフィールドを別のフィールドよりも重要にすることを目的としています。フィールドが 1 つしかない場合、ブースティングによって結果の順序がまったく変わることはありません。

追加:いいえ、実際に特定のドキュメントをブーストできるようです。おっとっと!

于 2009-02-18T15:37:42.297 に答える
0

ブーストするフィールドで field.omitNorms が false に設定されていることを確認してください。

于 2009-02-19T18:22:24.990 に答える