redis-om-spring  by redis

Spring Data Redis extension for object mapping, search, and document models

created 3 years ago
638 stars

Top 52.9% on sourcepulse

GitHubView on GitHub
Project Summary

This project provides Spring Data Redis extensions for enhanced search, document modeling, and querying capabilities, targeting Java developers building Spring Boot applications. It simplifies interacting with Redis Stack features like RedisJSON and RediSearch, enabling efficient data mapping and secondary indexing.

How It Works

Redis OM Spring builds upon Spring Data Redis, offering @Document annotation for mapping Java objects to RedisJSON documents and @Indexed for defining secondary indexes. It leverages RediSearch for powerful querying, including geospatial and full-text search, via custom repository interfaces and an EntityStream API. The project also introduces ULIDs for primary keys and supports Vector Similarity Search with optional dependencies.

Quick Start & Requirements

  • Install/Run: Requires a running Redis Stack instance (e.g., via docker run -p 6379:6379 -p 8001:8001 redis/redis-stack).
  • Dependencies: Java, Maven/Gradle, Spring Boot. Optional dependencies for Vector Similarity Search (e.g., spring-ai-openai).
  • Setup: Clone repository and run demos using ./mvnw spring-boot:run -pl demos/<demo-name>.
  • Docs: Redis OM Documentation

Highlighted Details

  • @Document annotation for RedisJSON mapping.
  • @Indexed and @Searchable for secondary and full-text indexing.
  • RedisDocumentRepository for CRUD and custom queries.
  • EntityStream API for Java 8 Streams-like querying.
  • ULID generation for @Id fields.
  • Support for Vector Similarity Search.

Maintenance & Community

  • Active development with releases and snapshots available.
  • Community support via Redis Discord Server.
  • Contribution guidelines provided on GitHub.

Licensing & Compatibility

  • MIT License. Permissive for commercial use and integration with closed-source applications.

Limitations & Caveats

  • Requires Redis Stack for full functionality.
  • Versions prior to 0.9.11 required the Spring Milestone Repository; this is now optional.
  • Vector Similarity Search features require manual addition of specific dependencies.
Health Check
Last commit

2 days ago

Responsiveness

1 day

Pull Requests (30d)
17
Issues (30d)
16
Star History
18 stars in the last 90 days

Explore Similar Projects

Starred by Patrick von Platen Patrick von Platen(Core Contributor to Hugging Face Transformers and Diffusers), Chip Huyen Chip Huyen(Author of AI Engineering, Designing Machine Learning Systems), and
12 more.

redis by redis

0.1%
70k
Redis is a versatile data structure server, cache, and query engine
created 16 years ago
updated 2 days ago
Feedback? Help us improve.