# redisearch/redisearch

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/redisearch-redisearch).**

6,161 stars · 584 forks · C · NOASSERTION

## Links

- GitHub: https://github.com/RediSearch/RediSearch
- Homepage: https://redis.io/docs/latest/develop/ai/search-and-query/
- awesome-repositories: https://awesome-repositories.com/repository/redisearch-redisearch.md

## Topics

`fulltext` `geospatial` `gis` `inverted-index` `redis` `redis-module` `search` `search-engine` `vector-database`

## Description

RediSearch is a Redis module that adds secondary indexing, full-text search, aggregation, and vector similarity search directly into the in-memory data store. It operates as an in-process search engine, extending the core key-value store with capabilities for indexing hash and JSON documents, enabling fast field-level lookups beyond primary key access.

The module provides a full-text search engine built on inverted indexes, supporting stemming, fuzzy matching, and relevance scoring via tf-idf. It also includes a vector similarity search engine using a Hierarchical Navigable Small World graph for approximate nearest neighbor search, and a server-side aggregation pipeline that groups, filters, and transforms search results without requiring data export. For structured data, it indexes comma-separated tags and numeric values as sorted sets, enabling fast inclusion, exclusion, and range queries alongside text searches.

Beyond search, RediSearch supports geospatial querying for location-based filtering, auto-complete suggestions for type-ahead inputs, and distributed query routing that scatters searches across cluster shards and merges partial results. It indexes JSON documents using JSONPath expressions, supporting nested arrays and mixed data types, and can index arrays as text, numeric, tag, or vector fields. The module also provides programmatic interfaces for executing Redis commands and constructing typed replies, along with memory management and replication primitives for custom command development.

## Tags

### Data & Databases

- [Search Modules](https://awesome-repositories.com/f/data-databases/connection-managers/redis/search-modules.md) — Extends the Redis server with secondary indexing, full-text search, and aggregation capabilities.
- [In-Process Search Engines](https://awesome-repositories.com/f/data-databases/search-indexing-engines/in-process-search-engines.md) — Runs inside the database process to index and query data without external infrastructure.
- [Proximity Graph Indexes](https://awesome-repositories.com/f/data-databases/approximate-nearest-neighbor-search/proximity-graph-indexes.md) — Indexes high-dimensional vectors using a navigable small world graph for approximate nearest neighbor search.
- [Full-Text Search Extensions](https://awesome-repositories.com/f/data-databases/connection-managers/redis/full-text-search-extensions.md) — Indexes and queries textual data with stemming, fuzzy matching, and relevance ranking.
- [Document Indexing](https://awesome-repositories.com/f/data-databases/data-integration-synchronization/local-document-indexing/document-indexing.md) — Creates secondary indexes on hash or JSON documents for field, text, or spatial queries. ([source](https://redis.io/docs/latest/develop/ai/search-and-query/))
- [Incremental Document Indexers](https://awesome-repositories.com/f/data-databases/data-integration-synchronization/local-document-indexing/document-indexing/incremental-document-indexers.md) — Updates the search index automatically as JSON or hash documents are added, modified, or deleted. ([source](https://redis.io/docs/latest/develop/ai/search-and-query/))
- [Tokenized Text Indexes](https://awesome-repositories.com/f/data-databases/field-scoped-indexing/tokenized-text-indexes.md) — Indexes text fields in hashes for full-text search with stemming, tokenization, and multi-language support. ([source](https://cdn.jsdelivr.net/gh/redisearch/redisearch@master/README.md))
- [Full Text Search](https://awesome-repositories.com/f/data-databases/full-text-search.md) — Provides a full-text search engine that indexes hash and JSON documents with stemming and fuzzy matching.
- [Full-Text Search Engines](https://awesome-repositories.com/f/data-databases/full-text-search-engines.md) — Indexes hash and JSON documents with stemming, fuzzy matching, and relevance scoring.
- [Sorted Indexing](https://awesome-repositories.com/f/data-databases/hierarchical-index-sorting/sorted-indexing.md) — Indexes comma-separated tags and numeric values as sorted sets for fast inclusion/exclusion and range queries.
- [Full-Text Inverted Indexes](https://awesome-repositories.com/f/data-databases/index-construction/full-text-inverted-indexes.md) — Builds token-level inverted lists from indexed text fields for fast term lookups and relevance scoring.
- [Module Command Invocations](https://awesome-repositories.com/f/data-databases/redis-connectors/redis-sinks/module-command-invocations.md) — Provides an API for modules to invoke any Redis command and inspect the reply. ([source](https://redis.io/modules))
- [JSON Indexing](https://awesome-repositories.com/f/data-databases/search-indexing-technologies/search-indexing/json-indexing.md) — Declares which fields on JSON or hash documents are auto-indexed for text, numeric, and tag queries. ([source](https://redis.io/docs/latest/develop/get-started/document-database/))
- [JSONPath Field Indexes](https://awesome-repositories.com/f/data-databases/search-indexing-technologies/search-indexing/json-indexing/nested-json-field-indexes/jsonpath-field-indexes.md) — Indexes fields within JSON documents by specifying JSONPath expressions.
- [Search and Indexing](https://awesome-repositories.com/f/data-databases/search-indexing-technologies/search-indexing/search-and-indexing.md) — Creates and maintains searchable indexes over JSON and hash documents for fast lookups. ([source](https://redis.io/docs/latest/develop/ai/search-and-query/))
- [Complex Search Querying](https://awesome-repositories.com/f/data-databases/search-indexing/complex-search-querying.md) — Supports boolean operators, prefix, fuzzy, exact phrase, and phonetic matching in search queries. ([source](https://cdn.jsdelivr.net/gh/redisearch/redisearch@master/README.md))
- [Aggregation Pipelines](https://awesome-repositories.com/f/data-databases/search-result-aggregators/aggregation-pipelines.md) — Processes search results through a pipeline of grouping, reducing, filtering, and sorting operations.
- [Server-Side Aggregation Pipelines](https://awesome-repositories.com/f/data-databases/search-result-aggregators/server-side-aggregation-pipelines.md) — Processes search results through a pipeline of grouping, sorting, filtering, and reduction operations without exporting data.
- [Secondary Indexes](https://awesome-repositories.com/f/data-databases/secondary-indexes.md) — Extends Redis with secondary indexing by intercepting key writes and maintaining inverted indexes.
- [Flat Key-Value Indexes](https://awesome-repositories.com/f/data-databases/storage-engines/key-value/flat-key-value-indexes.md) — Intercepts key writes and maintains inverted indexes inside the existing key-value store for field-level lookups.
- [Vector Similarity Search](https://awesome-repositories.com/f/data-databases/vector-similarity-search.md) — Finds nearest neighbors by cosine, inner product, or L2 distance over indexed vector embeddings.
- [Aggregate Result Sorting](https://awesome-repositories.com/f/data-databases/aggregate-result-sorting.md) — Orders grouped or transformed aggregation results by one or more fields in ascending or descending order. ([source](https://redis.io/docs/interact/search-and-query/search/aggregations/))
- [Geospatial Query Extensions](https://awesome-repositories.com/f/data-databases/connection-managers/redis/geospatial-query-extensions.md) — Indexes geographic coordinates and filters documents by radius or bounding box.
- [Tag Filters](https://awesome-repositories.com/f/data-databases/data-querying/table-item-filters/numeric-range-filters/tag-filters.md) — Indexes comma-separated tags for fast inclusion and exclusion filtering alongside full-text search.
- [Multi-Field Indexing](https://awesome-repositories.com/f/data-databases/field-scoped-indexing/multi-field-indexing.md) — Creates secondary indexes on multiple fields of hashes or JSON documents for complex queries. ([source](https://redis.io/docs/latest/develop/ai/search-and-query/best-practices/))
- [Field Transformations](https://awesome-repositories.com/f/data-databases/field-transformations.md) — Computes new field values from existing ones using arithmetic expressions and built-in functions in the aggregation pipeline. ([source](https://redis.io/docs/interact/search-and-query/search/aggregations/))
- [Numeric Range Filters](https://awesome-repositories.com/f/data-databases/geospatial-query-mapping/geospatial-indexes/numeric-range-filters.md) — Restricts query results to documents within a numeric range or geographic area using indexed filters. ([source](https://cdn.jsdelivr.net/gh/redisearch/redisearch@master/README.md))
- [Group-By Aggregations](https://awesome-repositories.com/f/data-databases/group-by-aggregations.md) — Partitions search results into groups by field values and applies reducer functions to each group. ([source](https://redis.io/docs/interact/search-and-query/search/aggregations/))
- [Array Text Indexes](https://awesome-repositories.com/f/data-databases/json-document-stores/json-search-indices/full-text-json-indexes/array-text-indexes.md) — Indexes arrays of strings as full-text fields for text search across multiple string values. ([source](https://redis.io/docs/latest/develop/ai/search-and-query/indexing/))
- [Cursor-Based Pagination](https://awesome-repositories.com/f/data-databases/query-aggregates/paginated-results/cursor-based-pagination.md) — Retrieves aggregation results incrementally using server-provided cursor tokens for pagination. ([source](https://redis.io/docs/interact/search-and-query/search/aggregations/))
- [Distributed Search Query Routing](https://awesome-repositories.com/f/data-databases/redis-cluster-deployments/distributed-search-query-routing.md) — Scatters search queries across cluster shards and merges partial results.
- [Numeric Array Indexes](https://awesome-repositories.com/f/data-databases/search-indexing-technologies/search-indexing/json-indexing/numeric-array-indexes.md) — Indexes arrays of numerical values for range queries matching documents with at least one value in range. ([source](https://redis.io/docs/latest/develop/ai/search-and-query/indexing/))
- [Tag Array Indexes](https://awesome-repositories.com/f/data-databases/search-indexing-technologies/search-indexing/json-indexing/tag-array-indexes.md) — Indexes each element of a JSON array as a separate tag for filtering by inclusion or exclusion. ([source](https://redis.io/docs/latest/develop/ai/search-and-query/indexing/))
- [Geospatial Search](https://awesome-repositories.com/f/data-databases/search-indexing/geospatial-search.md) — Filters and ranks indexed documents by geographic proximity to a coordinate or within a bounding area. ([source](https://redis.io/docs/interact/search-and-query/))
- [Missing Value Queries](https://awesome-repositories.com/f/data-databases/search-indexing/missing-value-queries.md) — Provides dedicated query functions for finding documents where a property is absent or empty. ([source](https://redis.io/docs/latest/develop/ai/search-and-query/indexing/))
- [JSONPath](https://awesome-repositories.com/f/data-databases/search-result-aggregators/aggregation-pipelines/jsonpath.md) — Uses JSONPath expressions to load and compute statistics over indexed JSON documents in aggregation pipelines. ([source](https://redis.io/docs/latest/develop/ai/search-and-query/indexing/))
- [Grouped Statistics](https://awesome-repositories.com/f/data-databases/search-result-aggregators/grouped-statistics.md) — Computes grouped statistics like counts and sums over search results using a server-side aggregation pipeline. ([source](https://redis.io/docs/latest/develop/ai/search-and-query/best-practices/))
- [Search Result Sorting](https://awesome-repositories.com/f/data-databases/search-result-sorting.md) — Ranks documents by relevance using tf-idf with optional user weights and sorts by fields like creation date. ([source](https://cdn.jsdelivr.net/gh/redisearch/redisearch@master/README.md))
- [Search Suggestions](https://awesome-repositories.com/f/data-databases/search-suggestions.md) — Builds a prefix-based suggestion dictionary and returns ranked completions for type-ahead inputs.
- [Array Vector Indexes](https://awesome-repositories.com/f/data-databases/vector-indexing/array-vector-indexes.md) — Indexes arrays of numeric vectors for similarity search, returning closest documents to a query vector. ([source](https://redis.io/docs/latest/develop/ai/search-and-query/indexing/))
- [Filtered Similarity Searches](https://awesome-repositories.com/f/data-databases/vector-similarity-search/filtered-similarity-searches.md) — Applies pre-filters to restrict which vectors are considered before performing KNN or radius searches. ([source](https://redis.io/docs/latest/develop/interact/search-and-query/query/vector-search/))
- [Pre-Filtered Vector Searches](https://awesome-repositories.com/f/data-databases/vector-similarity-search/filtered-similarity-searches/pre-filtered-vector-searches.md) — Applies pre-filters to restrict which vectors are considered before performing KNN or radius searches. ([source](https://redis.io/docs/latest/develop/interact/search-and-query/query/vector-search/))

### Artificial Intelligence & ML

- [Vector Similarity Search](https://awesome-repositories.com/f/artificial-intelligence-ml/vector-similarity-search.md) — Ships a vector similarity search engine using HNSW graphs for KNN and range queries.

### Networking & Communication

- [Database Modules API](https://awesome-repositories.com/f/networking-communication/database-modules-api.md) — Registers new custom commands and data types via the module API.

### Part of an Awesome List

- [Auto-Complete Libraries](https://awesome-repositories.com/f/awesome-lists/devtools/search-libraries/auto-complete-libraries.md) — Builds a suggestion dictionary from indexed terms and returns ranked completions as the user types. ([source](https://redis.io/commands/))
- [Post-Query Predicate Filters](https://awesome-repositories.com/f/awesome-lists/security/permissions/result-aggregators/filtered-aggregation-results/post-query-predicate-filters.md) — Filters aggregation pipeline results using post-query predicates on computed values. ([source](https://redis.io/docs/interact/search-and-query/search/aggregations/))

### Scientific & Mathematical Computing

- [Nearest Neighbor Searches](https://awesome-repositories.com/f/scientific-mathematical-computing/nearest-neighbor-searches.md) — Finds the k nearest vectors to a query vector using KNN search, returning results sorted by distance. ([source](https://redis.io/docs/latest/develop/interact/search-and-query/query/vector-search/))
- [Radius Vector Searches](https://awesome-repositories.com/f/scientific-mathematical-computing/vector-distance-metrics/radius-vector-searches.md) — Retrieves all vectors within a specified radius from a query vector, optionally sorting results by distance. ([source](https://redis.io/docs/latest/develop/interact/search-and-query/query/vector-search/))
