Lucene.Net IndexSearch.Searchメソッドを使用しています。フィルターとソートを渡していますが、奇妙な動作が見られます。ロジックは、パフォーマンス上の理由から、並べ替えの前にフィルタリングが行われることを示していますが、確認したかったのです。
質問する
172 次
1 に答える
3
フィルターして並べ替えます。
Lucene での並べ替えは、ドキュメントを順番にキューに集めることによって行われます。上位 X 個のドキュメントが保持されます。ここで、X は要求した結果の最大数です。コレクターは、Filter
または のいずれかに一致しないドキュメントを比較しませんQuery
。
並べ替えを指定しない場合、スコアを使用してドキュメントをキューに優先順位付けします。並べ替えを使用する場合は、要求した並べ替えのコンパレータが代わりに使用されます。
さらに興味がある場合はCollector
、ソース コードのさまざまなクラスを見てください。Collect() メソッドには、必要な情報がすべて含まれています。
于 2012-12-14T15:05:09.187 に答える