reactivesearch.io
p/reactivesearch
Supercharge your search experience
Kevin William David
Searchbox β€” A lightweight JavaScript library for building search UIs
Featured
6
β€’
Searchbox is a set of lightweight, performance focused libraries (16KB - 34KB Gzipped sizes) that enable a JavaScript developer to build rich Search UIs declaratively.
Searchbox works with appbase.io (which can be used with any Elasticsearch cluster).
Replies
Siddharth Kothari
Thanks @arturmkrtchyan! It is primarily designed for Elasticsearch as a backend. That said, we may support other Lucene based search engines in the next major release.
Siddharth Kothari
Hey PH'ers πŸ‘‹ Searchbox is a set of lightweight, performance focused libraries that allow JavaScript developers to build Search UIs declaratively. Who is this for? - Any frontend developer who is looking to build a rich search experience - Any Elasticsearch user who is looking to build a rich search UI How does this compare to other options? - Searchbox lets you create versatile search experiences. Think auto suggestions, highlighting, incorporating fuzzy search, voice search, setting search relevance (fields to search on, weights to apply), showing default suggestions, rendering your own UIs. - In addition, it lets you measure search/click analytics, set query rules, show popular suggestions. Most other searchbox libraries don't offer these capabilities. - It comes from our experience of actively building and maintaining ReactiveSearch. ReactiveSearch itself has been downloaded over half a million times and powers search for hundreds of projects. - Search experiences should be snappy. Our design goal has been to keep a minimal footprint for the library. It's 16KB - 34KB minified + Gzipped. If you don't use the prebuilt component, the library should weight < 10KB, that's featherweight. - It expects using Elasticsearch for powering the search backend - either hosted in cloud with appbase.io or via any other hosting provider when appbase.io is installed. - It's built with the open web in mind. Search is designed to work with any design system (Bootstrap/Material/Antd/your own), and it can integrate with any kind of UI components. See a demo here for an integration with React Table: https://codesandbox.io/embed/git.... The library comes in three variants: 1. React Searchbox - If you're building for React, use this. 2. Vue Searchbox - If you're building for Vue, use this. 3. Searchbase - If you're building for VanillaJS or want to use Searchbox with a different framework (Angular, Svelte), use this. The website contains getting started links for all: https://opensource.appbase.io/se...
Hunter Carter
I don't love the aesthetic, nor the Elasticsearch dependency, but I support this because I think we could always use some more good search UI components.
Siddharth Kothari
@school_4_ants There are already some auto complete libraries out there that are backend agnostic. Our goal here has been to build something that's ready for production use (robust search relevance, tracking search/click analytics, incorporate popular suggestions, apply query rules).
Hunter Carter
@siddharthlatest Why not both? If I were making a component, I'd allow it to render arbitrary data (so that the data could be pulled from any backend) and have a default method that does an async call to Elasticsearch based on a search string, if the data isn't being manually passed in.
Artur Mkrtchyan
Well done! I assume we can plug it into non elasticsearch backend too?