Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Redux
  3. redux-search

redux-search

MITJavaScript

Higher-order Redux library for client-side search with web-worker indexing and automatic result updates.

Visit WebsiteGitHubGitHub
1.4k stars62 forks0 contributors

What is redux-search?

Redux Search is a higher-order Redux library that enables client-side search across collections of objects stored in a Redux state. It automatically builds and maintains search indices, returning matching document IDs, and is optimized for performance using web workers. It solves the problem of integrating fast, responsive search into Redux applications without manual index management.

Target Audience

Frontend developers building Redux applications that require client-side search functionality, such as data tables, filtered lists, or searchable collections without server roundtrips.

Value Proposition

Developers choose Redux Search for its seamless Redux integration, automatic index synchronization with store changes, and performance gains from web-worker-based search execution, reducing UI thread blocking.

Overview

Redux bindings for client-side search

Use Cases

Best For

  • Adding search to Redux-managed data tables or lists
  • Implementing real-time client-side filtering in React/Redux apps
  • Applications requiring performant search without server requests
  • Projects needing customizable search tokenization and matching logic
  • Building search interfaces that update automatically as data changes
  • Optimizing search performance in data-heavy frontend applications

Not Ideal For

  • Applications not using Redux for state management
  • Projects requiring server-side search or full-text search across large datasets
  • Teams needing search results with full document objects, not just IDs
  • Simple apps with static data where manual filtering suffices

Pros & Cons

Pros

Web Worker Performance

Leverages background threads for search indexing and matching, preventing UI blocking, as highlighted in the README's key features and js-worker-search integration.

Automatic Index Updates

Watches Redux store changes and updates search indices in real-time, ensuring search results stay synchronized without manual intervention, as described in the overview.

Flexible Matching Modes

Supports substring, prefix, or exact word matching via configurable SearchApi with INDEX_MODES, allowing tailored search behavior per project needs.

Customizable Tokenization

Allows custom word boundaries, case-sensitive search, and AND/OR token matching through SearchApi parameters like tokenizePattern and matchAnyToken, providing fine-grained control.

Cons

Mandatory ID Attribute

Requires all documents to have an 'id' attribute, as search returns only IDs, not full objects, which is explicitly noted in the overview and can limit data structure flexibility.

Complex Setup

Configuration involves intricate setup of resourceIndexes, resourceSelectors, and searchApi, adding initial overhead compared to drop-in search solutions.

Redux Dependency

Tightly coupled with Redux, making it unsuitable for applications using other state management libraries or frameworks, as it relies on Redux middleware and selectors.

Runtime Dependencies

Depends on the Regenerator runtime and recommends babel-polyfill, adding to bundle size and setup complexity, as mentioned in the README notes.

Frequently Asked Questions

Quick Stats

Stars1,392
Forks62
Contributors0
Open Issues0
Last commit5 years ago
CreatedSince 2015

Tags

#search#web-worker#search-index#state#frontend#resources#javascript-library#client-side-search#react#state-management#middleware#redux

Built With

R
Redux
J
JavaScript

Links & Resources

Website

Included in

Redux391
Auto-fetched 20 hours ago

Related Projects

reselectreselect

Selector library for Redux

Stars19,028
Forks661
Last commit2 months ago
redux-loggerredux-logger

Logger for Redux

Stars5,721
Forks317
Last commit6 years ago
redux-ormredux-orm

NOT MAINTAINED – A small, simple and immutable ORM to manage relational data in your Redux store.

Stars2,932
Forks110
Last commit3 years ago
redux-undoredux-undo

:recycle: higher order reducer to add undo/redo functionality to redux state containers

Stars2,904
Forks184
Last commit6 months ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub