3

インデックス作成と検索に Apache Solr を使用しています。特定のフィールドに重みを付ける必要があるため、検索を行う場合、最も重み付けされたフィールドで検索を実行し、次に他のフィールドで検索を実行する必要があります。

開発には SolrJ、Java、および GWT を使用しています。

4

2 に答える 2

3

インデックス時にブーストするには、更新ドキュメントでブースト ステートメントを指定する必要があります。

<add overwrite="true">
    <doc boost="2.0">
        <field name="id">1234</field>
        <field name="type">type1</type>
    </doc>
    <doc>
        <field name="id">2345</field>
        <field name="type" boost="0.5">type2</type>
    </doc>
</add>

上記の例は、ドキュメント全体 (昇格) をブーストする方法と、特定のフィールドをブーストする方法を示しています。

詳細なドキュメントについては、こちらこちらをご覧ください

于 2012-08-06T22:20:19.497 に答える
1

dismax (または edismax) クエリ ハンドラーを使用すると、qf (クエリ フィールド) パラメーターを設定して、さまざまなフィールドにブーストを割り当てることができます。次の形式を使用します。

field1^boost_val field2^boost_val....など。

結果のランキングを制御するのに役立つその他の優れたパラメーターもあります。

http://wiki.apache.org/solr/ExtendedDisMax

于 2012-08-06T14:49:39.730 に答える