On a recent enterprise search project we were tasked with taking over six million documents and making them searchable by the general public, all within a very short development window.
To illustrate the difference in approach: in the traditional model the load is placed on the server to render resources and relay database queries.
But, in the client-side model once the application is downloaded it talks directly to the database.
Spyglass is built with EmberJS and comes with many of the search components you need to create a lightweight search interface right out of the box. In Spyglass there is the concept of:
- Searchers that return a result from a given url,
- a Search Box which is a simple input tied to its searcher,
- Result Sets that automatically show the results returned by their searchers, and
- Facets which toggle search parameters. Both result sets and facets are extensions of
SearcherObservers which update automatically when their linkedsearcher has new objects.
This framework is something that we have been working on over the last few months and will be open sourcing soon. Stay tuned.
Deciding to build a client-side search application allowed OpenSource Connections to rapidly iterate through development, and deliver a product that will maximize scalability while minimizing costs. It was an exciting project to work on and one where we really learned a lot about application design and working with massive amounts of data. In the end we proved that search applications can be built rapidly, with a minimal set of application components, while still functioning at a very large scale.
We look forward to sharing more about SpyGlass and the details of this specific client project in the near future. If you are interested in working with us on a client-side search application, drop us a line.