関連性ランキングのパフォーマンスの影響

関連性ランキングは、影響を受ける検索操作(つまり、関連性ランキングが実際に有効化されている操作)の状況において、大幅な計算コストを設定できます。

適切な場合にモジュールの代替を作成することによって、および関連性ランキングの方針で適切に選択したモジュールを順序付けすることによって、実装する際に関連性ランキングのパフォーマンスの影響を最小限にできます。

モジュールの代替の作成

結果セットのサイズの関連性ランキングの線形コストにより、実際の関連性ランキングのコストは、使用される一連のランキング・モジュールに大きく依存します。一般に、テキスト評価を実行しないモジュールは、テキスト一致指向のモジュールより、計算コストが大幅に少なくなります。

様々なランキング・モジュールの相対的な費用は、データの性質やレコード数に応じて異なりますが、モジュールは、大まかに次の4つの層に分類できます。
  • Exactは、計算コストが非常に高くなります。
  • Proximity、SubphraseまたはQuery Expansionオプションが指定されたPhrase、およびFirstは、すべてコストが高いモジュールですが、コストがかからない順にここに示しています。
  • WFreqも、状況によってはコストがかかります。
  • 残りのモジュール(Static、オプションを指定しないPhraseFreqSpellGlomNtermsInterpNumfieldsMaxfield、およびField)は、一般に、比較的コストがかかりません。

関連性ランキングの方針のパフォーマンスを最大限にするために、類似した結果を得るための、よりコストのかからない方法を検討してください。たとえば、ExactPhraseで置き換えると、結果への影響が比較的小さい場合は、パフォーマンスを向上させることがあります。

注意: データセットが大きいか、または検索操作に使用される大きい/オフラインのファイル・コンテンツを含む場合、関連性ランキングに使用するモジュールの選択は、非常に慎重に行ってください。

モジュールの適切な順序付け

関連性ランキング・モジュールは、必要な場合にのみ評価されます。優先度が高いランキング・モジュールがレコードの順序を決定する場合、優先度が低いモジュールは計算の必要がありません。コストが高いモジュールがコストが低いモジュールより優先度が低い場合、パフォーマンスに劇的な影響を及ぼします。

モジュールを自由に順序付けできる間は、最高のパフォーマンスのために、必ず、方針の中でコストが低いモジュールをコストが高いモジュールより前に設定するようにしてください。