A next-generation full-text search library for Browser and Node.js, offering high performance and advanced search capabilities.
FlexSearch is a next-generation full-text search library that enables fast and efficient text search in both browser and Node.js applications. It solves the problem of implementing high-performance search with features like phonetic matching, multi-field queries, and scalable persistent storage. The library is designed to handle large datasets while maintaining low memory footprint and high query speeds.
Developers building search-intensive applications such as e-commerce sites, documentation portals, or content management systems that require client-side or server-side full-text search capabilities.
FlexSearch stands out due to its exceptional performance benchmarks, support for multiple databases, and advanced features like context-aware scoring and worker-based parallelism, all in a lightweight package.
Next-generation full-text search library for Browser and Node.js
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Benchmarks show queries up to 1,000,000 times faster than other libraries, with optimized memory usage as demonstrated in the performance comparison table.
Supports multi-field document search, phonetic transformations, partial matching, and result highlighting, making it feature-rich for complex queries beyond basic text search.
Integrates with databases like IndexedDB, PostgreSQL, and MongoDB, allowing for large dataset handling and persistence without sacrificing performance.
Worker threads enable parallel query processing, improving performance for larger workloads, as outlined in the worker documentation.
The library offers numerous options for tokenizers, encoders, and presets, which can be overwhelming for beginners and requires careful tuning for optimal results.
The README indicates 'typed: 75% yellow,' suggesting that TypeScript definitions are incomplete, potentially hindering development in TypeScript projects.
Migration guides for version updates, like v0.8, imply that upgrades may require code changes, adding maintenance overhead for long-term projects.
Compared to established alternatives, FlexSearch has fewer third-party integrations and community-contributed tools, as seen in the sparse extern projects list.