Fuse.js
Lightweight fuzzy-search, in JavaScript
... justify setting up a dedicated backend simply to handle search. ElasticSearch or Algolia, although both great services, may be overkill for your particular use cases. You can access all options above via Fuse.config. This is useful if you want to override default options for all Fuse instances. Fuse.js supports logical query operators. These operators are used for filtering the data and getting precise results based on the given conditions.