2009-10-07 7 views
7

私はそれがフロートになります知っているが、結果内高め、さまざまなレベルのためのいくつかの典型的な値は何ですか?例えばLucene/Lucene.NET - Document.SetBoost()の値は?

私は10%で、文書の重みを後押ししたいなら、私はそれを1.1に設定する必要がありますか? 20%の場合は1.2?

私は75.0のような値にブーストを設定し起動するとどうなりますか?または500.0?

編集:固定フォーマット

答えて

6

は式のためLucene Similarity Documentationを参照してください。原則として、他のすべての要素が等しい場合、ドキュメントのブーストを1.1に設定すると、ブースト1.0の同一ドキュメントと比較して10%高いスコアが実際に与えられます。あなたが本質的に検索で好まれるべきドキュメントのセットを持っているなら、これは良いアイデアかもしれません。ドキュメントブーストはインデクシング時の属性なので、ドキュメントのブーストを変更せずにブーストを変更することはできません。長期マッチスコアを含むなど は詳細についてはDebugging Relevance Issues in Searchを参照してください規範、 - 得点で他の重要な要因があります。

+1

しかし、文書およびフィールドのブーストは、3ビットの仮数と、単一バイトで符号化されてしまうことに注意してください - ので、任意の差は25%未満が完全に見過ごさを終了してもよいです。 – jsalvata

2

のYuvalが言ったものに追加します。この値はフィールドブースト&ドキュメントブーストの関数です。ブースト値は1バイトでエンコードされます。したがって、この値を格納している間に精度が失われる可能性があります。 Searcher.Explain()を使ったデバッグは、適切な量のブーストを得るのに役立ちます。

ブースト値を保持したい場合(たとえば、現在のインデックスからインデックスを再作成する場合など)は、格納されたフィールドに追加することができます。

2

後押しについて覚えておくべき重要なことは、孤立してそれに近づくことではない、あなたは関連性に影響し、それらの基準を注文するために使用される各基準のリストを作成し、グローバル戦略の一環として、それを考慮する必要があります。それぞれの基準間の関係を定義します。定期的に再索引付けしているのか、新しい文書を追加しているだけなのか、定期的に索引を再作成する場合は、事前に徹底的に考える必要がなければ、文書の昇格基準を調整する余裕があります。