8

私はすでに事前にブーストを決定しています。solr インデックスに というフィールドがありますboost1。このブースト フィールドは、Google の PR ランクと同様に 1 から 10 までの値を持ちます。これは、solr で実行されるすべてのクエリに適用するブーストです。ここに私のインデックスのフィールドがあります

  • ID
  • 題名
  • 文章
  • ブースト1

ブースト フィールドはすべてのクエリに適用する必要があります。Google PRランクに似た機能を実装しようとしています。solrを使用してこれを行う方法はありますか?

4

2 に答える 2

12

クエリ中にブーストを追加できます。

q={!boost b=boost1}

How_can_I_boost_the_score_of_newer_documents

ただし、これはユーザーが明示的に追加する必要がある場合があります。

dismaxリクエストハンドラーを使用している場合、またはリクエストハンドラーを使用している場合はedismax、bf(ブースト関数)パラメーターを使用してドキュメントをブーストできます。 http://wiki.apache.org/solr/DisMaxQParserPlugin#bf_.28Boost_Functions.29

bf=boost1^0.5

これは、リクエストハンドラー定義を使用してデフォルトに追加できるため、すべての検索クエリに適用されます。

関数クエリを使用して、ブーストFunctionQueryの量を変更できます

于 2011-10-09T06:07:39.673 に答える
0

index time document boostsを使用する必要があると思います。XML にインデックスを付ける場合はこれを参照し、使用する場合はこれDataImportHandlerを参照してください。

于 2011-10-09T17:37:19.890 に答える