これらの設定は system.settings で参照でき、source から自動生成されています。
vector_search_filter_strategy
バージョン履歴
| バージョン | デフォルト値 | コメント |
|---|---|---|
| 25.5 | auto | 新しい設定 |
ベクトル検索クエリに WHERE 句がある場合、この設定は、先にそれを評価するか (事前フィルタリング) 、または先にベクトル類似度索引を参照するか (ポストフィルタリング) を決定します。設定可能な値:
- 'auto' - ポストフィルタリング (正確な動作は今後変更される可能性があります) 。
- 'postfilter' - ベクトル類似度索引を使用して最近傍を特定し、その後に他のフィルタを適用します
- 'prefilter' - 先に他のフィルタを評価し、その後で総当たり検索を実行して最近傍を特定します。
vector_search_index_fetch_multiplier
別名: vector_search_postfilter_multiplier
バージョン履歴
| バージョン | デフォルト値 | コメント |
|---|---|---|
| 25.8 | 1 | 設定 'vector_search_postfilter_multiplier' の別名 |
ベクトル類似度索引から取得する最近傍候補数にこの値を掛けます。ほかのフィルタ条件とのポストフィルタリングを行う場合、または設定 'vector_search_with_rescoring = 1' の場合にのみ適用されます。有効範囲: [1.0, 1000.0]。この範囲外の値は受け付けられません。
vector_search_use_quantized_codes
バージョン履歴
| バージョン | デフォルト値 | コメント |
|---|---|---|
| 26.7 | 0 | Quantize(...) カラムコーデックに対する 2 段階の近似ベクトル検索最適化を有効にするための新しい設定です。デフォルトでは、クエリは厳密なままです。 |
Quantized で圧縮されたカラムに対して、索引を使わない 2 段階の近似ベクトル検索 (総当たりスキャン) を有効にします。有効にすると、Quantized(...) コーデックでエンコードされたカラムに対する ORDER BY L2Distance|cosineDistance(vec, reference) LIMIT k は、次のように動作します。
- 量子化されたベクトルをスキャンして絞り込みます (この段階では
k * vector_search_index_fetch_multiplier件の結果が生成されます) 。 - 見つかったベクトルを、元のフル精度ベクトルに対して再スコアリングします。
vector_search_with_rescoring
バージョン履歴
| バージョン | デフォルト値 | コメント |
|---|---|---|
| 25.8 | 0 | 新しい設定 |
ClickHouse が、ベクトル類似度索引を使用するクエリでリスコアリングを実行するかどうかを指定します。
リスコアリングを行わない場合、ベクトル類似度索引は最良の一致を含む行を直接返します。
リスコアリングを行う場合、ベクトル類似度索引は候補行を取得し、ClickHouse は通常の SQL パイプライン内で
それらの行に対し、元のフル精度ベクトルから正確な距離を計算します。
可能な場合、ClickHouse は最終的な距離計算の前に、スキャン対象を候補行に絞り込みます。
より高い再現率のためにさらに多くの候補行が必要な場合は、特に
追加のフィルターや量子化されたベクトル索引を使用しているときに、vector_search_index_fetch_multiplier を増やしてください。
注: リスコアリングを行わずに実行され、かつ並列レプリカが有効なクエリは、リスコアリングにフォールバックする場合があります。