つまり、インデックスのサイズが劇的に (たとえば 1GB から 1TB に) 増加した場合、そのインデックスを超える IndexReader を開くための計算コストはどのように増加するのでしょうか? それは直線的な傾向ですか?
1 に答える
2
傾向は線形ですが、その前の定数は小さいはずです。また、コストはほとんどが CPU ではなく IO です。
IndexReader は、用語インデックス、削除されたドキュメントのビット ベクトル、norms/FieldCache/doc 値などの特定のデータ構造を事前に読み込みます (それらを必要とする最初のクエリで)。フィールド キャッシュを除いて、これらの構造のロードはほとんどが IO (CPU ではなく) コストであり、コストはドキュメントごとに非常に低い一定の係数である必要があります。
重い/大きなもの (投稿、格納されたフィールド、用語ベクトル) はすべてディスクに残されます。
于 2013-05-30T10:44:17.943 に答える