Migrate from Redis to Qdrant

What You Need from Redis

  • Redis address — host and port of your Redis instance
  • FT index name — the RediSearch full-text index that contains your vectors
  • Authentication — username and password, if configured

Concept Mapping

RedisQdrantNotes
FT IndexCollectionOne-to-one mapping
DocumentPointEach document becomes a point
Vector fieldVectorNamed vectors are preserved
Hash/JSON fieldsPayloadDirect mapping
Document keyPayload fieldStored via --qdrant.id-field

Run the Migration

docker run --net=host --rm -it registry.cloud.qdrant.io/library/qdrant-migration redis \
    --redis.index 'your-ft-index' \
    --redis.addr 'localhost:6379' \
    --qdrant.url 'https://your-instance.cloud.qdrant.io:6334' \
    --qdrant.api-key 'your-qdrant-api-key' \
    --qdrant.collection 'your-collection'

With Authentication

docker run --net=host --rm -it registry.cloud.qdrant.io/library/qdrant-migration redis \
    --redis.index 'your-ft-index' \
    --redis.addr 'your-redis-host:6379' \
    --redis.username 'your-username' \
    --redis.password 'your-password' \
    --qdrant.url 'https://your-instance.cloud.qdrant.io:6334' \
    --qdrant.api-key 'your-qdrant-api-key' \
    --qdrant.collection 'your-collection' \
    --migration.create-collection false

All Redis-Specific Flags

FlagRequiredDescription
--redis.indexYesRediSearch FT index name
--redis.addrNoRedis address (default: localhost:6379)
--redis.protocolNoRedis protocol version (default: 2)
--redis.usernameNoUsername for authentication
--redis.passwordNoPassword for authentication
--redis.client-nameNoClient name
--redis.dbNoDatabase number
--redis.networkNoNetwork type: tcp or unix (default: tcp)

Qdrant-Side Options

FlagDefaultDescription
--qdrant.id-field__id__Payload field name for original Redis document keys

Gotchas

  • Named vectors: If your Redis index has multiple vector fields, all are migrated as named vectors. Ensure your pre-created Qdrant collection has a matching named vector configuration.
  • ID mapping: Redis document keys are converted to Qdrant point IDs. The original key is stored in the payload under --qdrant.id-field.

Next Steps

After migration, verify your data arrived correctly with the Migration Verification Guide.

Was this page useful?

Thank you for your feedback! 🙏

We are sorry to hear that. 😔 You can edit this page on GitHub, or create a GitHub issue.