2

私はまだ solr を使い始めたばかりです (簡単な質問をするのはばかげていると思います、赤面します) が、以下の 2 つの方法の違いは何ですか? どちらを使用すればよいですか?ドキュメント内のすべてのフィールドのブースト値を 1.0f に設定するとどうなりますか?

  1. ブーストなしでフィールドを追加

    public void addField(String name, Object value) ブースト用の暗黙の null 値を持つフィールドを追加します。

  2. ブースト値を持つフィールドを追加

    public void addField(String name, Object value, float boost) 指定された名前、値、およびブーストでフィールドを追加します。その名前のフィールドがすでに存在する場合は、新しい値とブーストに更新されます。

ご協力ありがとうございます:-)

4

1 に答える 1

3

「ブースト」とは何か、または「ブースト」とは何かについて、Solr の wiki (または私の本、第 5 章) を読む必要があります。簡単に言えば、インデックス時間ブースティングは、指定されたフィールドに一致するクエリを介して一致するドキュメントのスコアを上げる機会を提供します。これは乗数であるため、デフォルトは実際には 1.0 です。ほとんどのアプリは、より柔軟なクエリ時間のブーストのために、インデックス時間のブーストを避ける必要があります。たとえば、dismax パーサーの「qf」パラメーターを使用します。

于 2012-06-26T04:22:35.393 に答える