FlexSearch is a next-generation full-text search library for browsers and Node.js, offering high performance and advanced search capabilities. It supports multi-field search, phonetic transformations, and persistent indexes for scalable workloads.
FlexSearch is a high-performance, next-generation full-text search library designed for both browser and Node.js environments. It boasts impressive speed, performing queries up to 1,000,000 times faster than comparable libraries. Key features include multi-field document search, phonetic transformations, partial matching, and tag-search. The library also offers result highlighting and suggestions, enhancing the user experience. For larger datasets and parallel processing, FlexSearch supports scalable workloads through workers and introduces persistent indexes, optimized for various database engines like IndexedDB, Redis, SQLite, Postgres, MongoDB, and Clickhouse. It supports multiple charsets, including Latin, CJK, Hindi, Arabic, Cyrillic, Greek, Coptic, and Hebrew, making it versatile for global applications. FlexSearch was nominated by GitNation for "Best Technology of the Year."
Best used for
Ideal for developers who need to integrate high-performance and feature-rich search capabilities into their web or Node.js applications. Especially valuable for projects requiring multi-field search, phonetic matching, and scalable persistent indexes across various database backends.
reactvuegatsbynikolaindexeddbredissqlitepostgres+ 2 more
Pricing & Plans
Open Source
Free
FAQs
What makes FlexSearch faster than other search libraries?
FlexSearch achieves high performance through optimized algorithms and features like phonetic transformations, partial matching, and efficient indexing. It can perform queries up to 1,000,000 times faster than other libraries, making it suitable for demanding search applications.
Which platforms and databases does FlexSearch support?
FlexSearch supports both Browser and Node.js environments. It offers native integration with various databases for persistent indexes, including InMemory (default), IndexedDB (Browser), Redis, SQLite, Postgres, MongoDB, and Clickhouse, providing flexibility for different project needs.
Can FlexSearch handle large datasets and scale efficiently?
Yes, FlexSearch is designed for scalability. It supports bigger workloads through workers, allowing updates and queries to the index to be performed in parallel across dedicated balanced threads. The latest version also introduces persistent indexes optimized for scaling large datasets.