Doug Cutting の論文を読みました。「合計ランキングのスペース最適化」。
ずいぶん前に書いたものなので、luceneがどんなアルゴリズムを使っているのか気になります(投稿リストのトラバーサルやスコア計算、ランキングに関して)。
特に、そこで説明されている総合ランキング アルゴリズムでは、各クエリ タームの投稿リスト全体をトラバースする必要があるため、「yellow dog」のような非常に一般的なクエリ タームの場合、2 つのタームのいずれかが非常に長い投稿リストを持つ可能性があります。ウェブ検索。それらはすべて、現在の Lucene/Solr で本当にトラバースされていますか? または、採用されているリストを切り捨てるためのヒューリスティックはありますか?
上位k件の結果しか返ってこない場合は、投稿リストを複数のマシンに分散させて、それぞれの上位k件をまとめればいいのは理解できますが、「100件目の結果ページ」を返さなければならない場合は、つまり、結果が 990 から 1000 番目にランク付けされた場合、各パーティションは依然として上位 1000 を見つける必要があるため、パーティショニングはあまり役に立ちません。
全体として、Lucene で使用される内部アルゴリズムに関する最新の詳細なドキュメントはありますか?