// OSSeva Blog
OperationsDoes Valkey Support Vector Search? valkey-search, ElastiCache for Valkey and Redis Compared
The short answer
Yes, Valkey supports vector search, through the valkey-search module. The core Valkey server does not index vectors on its own. valkey-search is a separate module from the Valkey project, licensed BSD-3-Clause, that adds the FT.* commands: create an index over hashes or JSON documents, then run nearest-neighbour queries with HNSW or exact KNN, combined with tag, numeric and, from 1.2, full-text filters.
Version matters more than usual. valkey-search 1.0 runs on Valkey 8.1.1 and later; 1.1 and 1.2 need Valkey 9.0.1 or later; the 1.3 release candidate needs 9.1.0. On AWS, ElastiCache for Valkey offers vector search from version 8.2 and the wider search feature set from 9.0, on node-based clusters at no additional cost.
valkey-search versions at a glance
| Release | Date | Valkey required | What it added |
|---|---|---|---|
| 1.0.0 | 28 May 2025 | 8.1.1 or later | First GA: FT.CREATE, FT.SEARCH, FT.INFO, FT.DROPINDEX, FT._LIST; HNSW and FLAT vector indexes; numeric and tag filters; cluster support |
| 1.1.0 | 24 December 2025 | 9.0.1 or later | FT.AGGREGATE; indexes and queries without a vector field |
| 1.2.0 | 17 March 2026 | 9.0.1 or later | Full-text search; SORTBY; up to 1,000 indexes by default |
| 1.2.1 | 7 July 2026 | 9.0.1 or later | Stability and correctness fixes, many found by fuzzing |
| 1.3.0-rc1 | 7 October 2026 | 9.1.0 or later | Release candidate: BM25 relevance scoring, FT.HYBRID rank fusion of text and vector results, FLOAT16 and BFLOAT16 vectors, vector range queries |
1.3 is a release candidate, so production clusters should stay on 1.2.1 until a GA release ships.
How valkey-search works
An index is defined over a key prefix. Updates to matching hashes or JSON documents flow into the index on background threads, and queries run there too. Both standalone and cluster mode are supported; in cluster mode the keyspace is spread across shards, and if some replication lag is acceptable you can send queries to replicas to scale reads. For filtered vector queries, a query planner chooses between filtering first and then searching, or filtering during the similarity search.
The quickest way to try it is the valkey/valkey-bundle image, which ships Valkey with the JSON, Bloom, Search and LDAP modules already loaded. On your own servers, load the module at start-up:
valkey-server --loadmodule /path/to/libsearch.so
Then define an index and query it. The vector itself is passed as a binary string of FLOAT32 values from your client library:
FT.CREATE docs ON HASH PREFIX 1 doc:
SCHEMA category TAG
embedding VECTOR HNSW 6 TYPE FLOAT32 DIM 1536 DISTANCE_METRIC COSINE
HSET doc:1 category "billing" embedding "<1536 FLOAT32 values as bytes>"
FT.SEARCH docs "@category:{billing}=>[KNN 10 @embedding $vec]"
PARAMS 2 vec "<query vector as bytes>"
Replace the filter with * to search every vector in the index.
ElastiCache for Valkey vector search
AWS runs its own build of the search capability in ElastiCache for Valkey. According to the ElastiCache documentation:
- Valkey 8.2 on ElastiCache supports vector search; Valkey 9.0 and above add numeric, tag, full-text and hybrid queries and aggregations.
- It is available on node-based clusters in all AWS Regions at no additional cost, on all instance types except nodes with data tiering. t3 and t4g nodes need a larger memory reserve.
- Vectors can have up to 32,768 dimensions. A cluster can hold 1,000 indexes on 9.0 and above, but only 10 on 8.2.
- RDB files that contain search indexes can only be loaded by ElastiCache Valkey 8.2 or higher, which matters if you plan to export a snapshot to a self-managed server.
FT.CREATEandFT.DROPINDEXcannot run insideMULTI/EXECor a script.
The pages describe node-based clusters. If you plan to use ElastiCache Serverless, confirm support in the current documentation before you design around it.
Valkey vs Redis for vector search
In Redis 8, the search and query engine that used to ship as the RediSearch module is part of Redis Open Source, along with JSON, time series and probabilistic types. Redis supports FLAT, HNSW and SVS-VAMANA vector indexes, and Redis 8 also introduced vector sets, a separate data type queried with VADD and VSIM. The licence is the real difference.
| Valkey with valkey-search | ElastiCache for Valkey | Redis 8 Open Source | |
|---|---|---|---|
| Licence | BSD-3-Clause (server and module) | Managed AWS service | Your choice of RSALv2, SSPLv1 or AGPLv3 |
| Where it runs | Anywhere you run Valkey | AWS only | Anywhere you run Redis |
| Vector indexes | HNSW, FLAT | Vector search from 8.2 | FLAT, HNSW, SVS-VAMANA, plus vector sets |
| Full-text and aggregations | From 1.2 and 1.1, on Valkey 9.0.1 or later | From 9.0 | Yes |
| Command surface | FT.*, aiming at RediSearch compatibility | FT.* | FT.* and V* vector set commands |
Redis's own licensing page states that RSALv2 and SSPLv1 are not open source licences and that AGPLv3 is OSI-approved. AGPLv3 is a copyleft licence written for software that runs over a network, so derivative works must be released under it too. For a team that wants a permissive licence end to end, Valkey with valkey-search is the option. Redis 7.2 and earlier remain BSD-licensed, but they predate the integrated query engine. Our Valkey vs Redis comparison covers the licence history, and Redis Enterprise alternatives covers the commercial side.
Moving a RediSearch application to Valkey
The valkey-search project states its goal plainly: applications built against RediSearch with standard client libraries should run against valkey-search with little or no change. Release 1.2 targets RediSearch 2 behaviour and 1.3 targets Redis 8, for Dialect 2 queries and the features valkey-search implements. A few things do not carry over:
- Index data. RDB, AOF and replication formats for indexes are not compatible, and you cannot replicate index state between Redis and Valkey. Recreate the indexes on Valkey and let them backfill from the data.
- Missing features. A RediSearch option valkey-search does not implement returns an error rather than a different result. Run your real queries against a test cluster first.
- Vector sets. valkey-search documents the
FT.*command family only. Code that uses Redis 8 vector sets needs rewriting toFT.*indexes. - Access control. valkey-search enforces ACL key restrictions on
FT.SEARCHandFT.AGGREGATE, which RediSearch does not. A user can query an index only if it may read every key the index prefix could cover.
For the data move itself, see how to migrate from Redis to Valkey.
Where OSSeva fits
OSSeva for Redis and Valkey supports Valkey 7.2.x and 8.x today, alongside community Redis 6.2, 7.0 and 7.2, with one contract and one escalation path across them and the rest of your data stack, priced per cluster. valkey-search 1.1 and later require Valkey 9.0.1 or later, and the search module is not part of the published OSSeva coverage. If vector search on Valkey is in your plans, raise Valkey 9 and valkey-search on the discovery call so the answer is in writing before you build on it.
Frequently asked questions
Does Valkey support vector search?
Yes, with the valkey-search module, which adds FT.CREATE and FT.SEARCH with HNSW and exact KNN vector indexes. The core server alone does not.
Is valkey-search production ready?
valkey-search 1.0 reached GA in May 2025, and 1.2.1, from July 2026, is the current stable release. 1.3 is a release candidate as of October 2026.
Which Valkey version do I need for valkey-search?
8.1.1 or later for 1.0, 9.0.1 or later for 1.1 and 1.2, and 9.1.0 or later for the 1.3 release candidate.
Does ElastiCache for Valkey support vector search?
Yes. ElastiCache Valkey 8.2 supports vector search, and 9.0 and above add full-text, tag, numeric, hybrid queries and aggregations, on node-based clusters at no additional cost.
Is the Redis Query Engine open source?
From Redis 8 it ships inside Redis Open Source under a choice of RSALv2, SSPLv1 or AGPLv3. Only AGPLv3 of the three is an OSI-approved open source licence.
Can I use my RediSearch client library with Valkey?
In most cases, yes. valkey-search aims to accept the same commands and return the same responses for the features it implements. Test with your own queries, because unimplemented options return errors.
Tags
Ready to get your open source under control?
Talk to an OSSeva engineer about CVE coverage, compliance, and migration support for your stack.