私の場合、ドキュメントには「タイトル」と「ビュー」の2つのフィールドがあります。 「ビュー」は、人々がこの文書を訪れた回数で表されます。 like: "title": "iphone"、 "views": "10" 関連性スコアはスコア(タイトル)* 0.8 +スコア(ビュー)* 0.2で計算されるなど、ビューにいくつかの重みを割り当てる戦略を開発する必要があります。 luceneはこれを行うことができますか?そして、この質問に関連するアルゴリズムがいくつかあるかどうかを知りたい。Lucene:特定のフィールドを増やす方法
8
A
答えて
10
ここでは、あなたがそれを行うことができる方法である。
Query titleQuery, viewsQuery;
titleQuery.setBoost(0.8);
viewsQuery.setBoost(0.2);
BooleanQuery query = new BooleanQuery();
query.add(titleQuery, Occur.MUST); // or Occur.SHOULD if this clause is optional
query.add(viewsQuery, Occur.SHOULD); // or Occur.MUST if this clause is required
// use query to search documents
スコアは(乗法定数に)0.8*score(titleQuery) + 0.2*score(viewsQuery)
に比例することになります。
views
フィールドを活用するには、おそらくValueSourceQueryを使用する必要があります。
5
3つの方法でブーストすることができます。インデックス付けながら - - 文書がインデックスに追加される前に、 document.setBoost()を呼び出すことで、ニーズに応じて、あなたが後押し組み合わせ
ドキュメントレベルを採用する場合があります。
文書にフィールドを追加する前に(そして文書をインデックスに追加する前に) field.setBoost()を呼び出すことによって、文書のフィールドレベルブースティング - インデックス作成中 -
クエリレベルブースティング - 検索中に、クエリ句にブーストを設定して、 Query.setBoost()を呼び出します。
ソース:http://lucene.apache.org/core/old_versioned_docs/versions/3_0_0/scoring.html
+0
document.setBoost()は古くから使用されていません。 – Dannyboy
関連する問題
- 1. Sql Selectでフィールドを増やす方法
- 2. 方法:Lucene .netを増やす。インデックス作成速度
- 3. 特定のスクリプトphp fpmの要求タイムアウトを増やす方法
- 4. Zend Search Lucene - 特定のフィールドを検索
- 5. moongoseのフィールドを増やす
- 6. 特定のオーディオサンプルを増幅する方法、特に特定の周波数を増幅する方法
- 7. シンプル?フィールド/ボックスサイズを増やす
- 8. フィールド数を増やさずにluceneを使用した完全なフレーズ検索
- 9. グループ化するときにフィールドを増やす方法
- 10. Luceneから特定のフィールドのみを返します。検索
- 11. 可変フィールド名を使用してmongodbフィールドを増やす方法は?
- 12. バイナリインデックスツリー(BIT)で特定の長さのサブシーケンスを増やす方法の総数を確認する方法
- 13. luceneの日付フィールドのインデックス方法
- 14. phpmyadminのメモリサイズを増やす方法
- 15. テキストボックスコントロールのサイズを増やす方法XAML
- 16. Asp.netのセッションタイムアウトを増やす方法C#
- 17. ViewImage/Viewのサイズを増やす方法
- 18. リンクのサイズを増やす方法は?
- 19. netezzaテーブルのカラムサイズを増やす方法
- 20. アセンブリグラフィックスのテキストサイズを増やす方法は?
- 21. エコー内の行を増やす方法
- 22. nodejsのデフォルトメモリを増やす方法は?
- 23. seaborn stripplotのyaxisを増やす方法
- 24. テキストボックスの値を増やす方法
- 25. hdd.img yoctoのブートパーティションを増やす方法
- 26. スパーク:スレーブのドライブサイズを増やす方法
- 27. JMeterのアップロードファイルサイズを増やす方法
- 28. gpartedのスワップサイズを増やす方法
- 29. dictの値を増やす方法は?
- 30. MVC 3のセッションタイムアウトを増やす方法
私がそれを理解していれば、correctyl setBoostは廃止され、最近ではhttps://lucene.apache.org/core/5_5_0/core/org/apache/lucene/search/BoostQuery.html shoudlが使用されています – Dannyboy