kevy4.0

IDX.QUERY

インデックスに問い合わせる。範囲 / 等値、text MATCH、vector KNN、集約グループ、2 つのインデックスの COMPOSE のいずれか。

IDX.QUERY name RANGE min max [LIMIT n] [CURSOR c] [FIELDS field ...] | name EQ value [LIMIT n] [CURSOR c] [FIELDS field ...] | name MATCH text [LIMIT n] [FIELDS field ...] | name KNN vector [LIMIT k] [EF ef] [FIELDS field ...] | name GROUP group | name GROUPS [BY count|sum|min|max] [LIMIT n] | HYBRID text_idx MATCH text ann_idx KNN vector [LIMIT n] [RRFK k] [EF ef] [FIELDS field ...] | COMPOSE AND|OR nameA RANGE min max|EQ value nameB RANGE min max|EQ value [LIMIT n] [CURSOR c] [FIELDS field ...]
グループ
インデックス
追加バージョン
3.0.0
引数の数
4 個以上
フラグ
readonly extension

計算量

インデックスの kind による。range は O(log N + limit)。unique は O(log N + hits)。全文検索は posting list の長さの総和で、MaxScore による枝刈りが入る。vector ANN は距離計算が O(dim * (M log N + ef * M)) 回(HNSW)。agg GROUPS は 1 ~ 3 ラウンドの fan-out を伴う上限つきの top-K。HYBRID は両方のサブクエリを 4 倍の深さで走らせ、origin で RRF により融合する。COMPOSE は limit で抑えられない —— 結果は key 順であるのに対しセグメントは値順であるため、両方の葉を全件 materialise する。

計算量と互換性は kevy の実装から読み取ったものであり、Redis のドキュメントを写したものではない。実際に異なるものがいくつかある。

Redis との互換性

kevy 固有

kevy 固有。最も近いのは RediSearch の FT.SEARCH —— 2 つの軸では本当に比較できる(kevy の text インデックスは転置セグメント上の BM25、vector インデックスは HNSW であり、RediSearch も両方を提供する)。相違点は次のとおり。別モジュールもインデックスサーバも持たない。BM25 の統計は全体ではなく shard ごとである。クエリ面は DSL ではなく固定の文法であり、フィールドブースト、フレーズ検索、近接検索、ステミング、集約パイプラインはいずれも存在しない。

関連

IDX.COUNTIDX.CREATEIDX.DROPIDX.EXPLAINIDX.LISTIDX.REBUILDIDX.VERIFY

← コマンド一覧へ