A lightweight JavaScript library for ultra-fast faceted and full-text search on JSON datasets up to 100K items.
ItemsJS is a JavaScript search engine library that provides fast faceted and full-text search capabilities for JSON datasets. It solves the problem of implementing efficient search, filtering, and sorting on medium-sized collections (up to 100K items) directly in JavaScript, eliminating the need for external search servers in many use cases.
JavaScript developers building applications that require client-side or server-side search functionality, such as e-commerce filters, directory listings, or data exploration interfaces.
Developers choose ItemsJS for its exceptional speed, lightweight footprint, and flexibility—it works across Node.js and browsers with zero dependencies and offers easy integration with custom search engines like MiniSearch or Lunr.
Extremely fast faceted search engine in JavaScript - lightweight, flexible, and simple to use
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 in the documentation show ultra-fast filtering and aggregation on datasets up to 100K items, enabling real-time search interfaces without server roundtrips.
Works seamlessly in both Node.js and browser environments with UMD and ES module support, as shown in the README examples for CDN and npm usage.
Zero external dependencies make it easy to integrate into existing projects without bloating bundle size, aligning with its philosophy of simplicity.
Native search can be disabled and supplemented by engines like MiniSearch or Lunr, with documented integration guides for enhanced full-text capabilities.
The built-in full-text search lacks advanced features like stemming or fuzzy matching, requiring integration with external libraries for complex queries, as admitted in the integrations section.
Optimized for up to 100,000 items, performance may degrade with larger datasets, forcing a move to server-side solutions like Elasticsearch for bigger scales.
Developers must build their own faceted search interfaces from scratch, adding development time compared to full-stack solutions that include pre-styled components.