A Search-Based Application, or SBA, is an application in which the main functionalities are powered by a search engine, as opposed to other technologies such as relational databases. The application may not be about search: it could be about reading emails, watching videos or commenting on a report. But, behind the scenes, the data is stored in an index and retrieved via one or multiple search queries
A Search-Based Application natively offers several advantages:
- It is scalable, as search engines offer great performance even when the amount of data becomes very large.
- It is smart (and can be made smarter with Machine Learning), as users can interact with it, even with complex and fuzzy queries.
- It is polyvalent, as search engines can handle both structured data (like in a conventional database) and unstructured data (like text and documents).
Building a Search-Based Application from scratch is both easy and hard
It is easy, because so many resources are available to us for free from open-source projects. Anyone can download and combine multiple libraries to build a great project, much faster than it would have been possible just ten years ago.
It is hard, because the level of quality and intelligence expected by end-users has never been higher. Someone who uses Google on a daily basis not only expects perfect search results, but they also want the software to understand their fuzzy intent, make relevant suggestions, and many other things that we take for granted.
Many projects fail to deliver because of the overwhelming complexity of properly integrating many simple pieces of a puzzle. Sometimes, the integration is successful, but the application suffers from such poor User Experience that nobody ends up using it. While any individual piece of technology is now largely commoditized via cloud-based offerings and/or open-source projects, the difficulty of actually delivering good solutions still remains very high.
In an Enterprise context, this difficulty can be higher still, because of additional constraints, like the need to be highly secure, to integrate with legacy systems, to use one particular piece of technology instead of another, or to work with limited resources. It is not uncommon for projects to go 80% of the way but then stop there for a lack of budget or skills, leaving employees with indefinitely buggy and clunky software.
Sinequa: A platform for building Search-Based Applications
Using a platform like Sinequa to develop a Search-Based Application addresses a lot of these concerns, because the platform handles much of the complexity, letting the developers focus on the specifics of their application.
For example, Sinequa can index all of the data required by your application. With more than 200 connectors and a connector SDK, feeding Sinequa with your data can be done quickly, securely, and at scale. Moreover, Sinequa can analyze unstructured text in more than 20 languages, completely out-of-the-box. This not only improves search relevancy, but also lets you extract additional metadata automatically, such as employee names, dates, or in fact anything relevant to your business.
Building a User Interface is also much easier because Sinequa provides libraries of components and sample applications, so you don’t have to reinvent the wheel. The SBA framework provides a solid foundation of building blocks that can be combined and recombined to build any type of Search-Based Application.
A Search-Based Application built with Sinequa comes with many rich out-of-the-box capabilities:
- Multiple flavors of search (full text search, advanced forms, faceted search, fielded search, etc.)
- Autocompletion of user inputs and detection of user intents
- Display data with graphical widgets and build customized and collaborative dashboards
- Preview and navigation within documents and highlighting of the relevant parts of text
- Capacity to save & share specific user queries, receive alerts, build collections of documents, etc.
Read the full article here.