インデックス作成と検索に Apache Solr を使用しています。特定のフィールドに重みを付ける必要があるため、検索を行う場合、最も重み付けされたフィールドで検索を実行し、次に他のフィールドで検索を実行する必要があります。
開発には SolrJ、Java、および GWT を使用しています。
インデックス時にブーストするには、更新ドキュメントでブースト ステートメントを指定する必要があります。
<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>
上記の例は、ドキュメント全体 (昇格) をブーストする方法と、特定のフィールドをブーストする方法を示しています。
詳細なドキュメントについては、こちらとこちらをご覧ください
dismax (または edismax) クエリ ハンドラーを使用すると、qf (クエリ フィールド) パラメーターを設定して、さまざまなフィールドにブーストを割り当てることができます。次の形式を使用します。
field1^boost_val field2^boost_val....など。
結果のランキングを制御するのに役立つその他の優れたパラメーターもあります。