Understanding Search-Based Applications
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. It is 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 trivialized 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.
Moreover, every time you build a Search-Based Application with Sinequa, the next ones get increasingly easier to build. You can reuse a lot of the data, configuration, plugins and expertise you have developed.
Sinequa users have Search-Based Applications for many different use-cases. But at the core, they use the same infrastructure and building blocks. A pharmaceutical company might build an SBA to analyze clinical trials, an auditing firm might use one to look for fraudulent data, and a bank might need one to empower their employees to provide better customer service.
Organizations have hundreds of Search-Based Application use-cases
Search-Based Applications may have some technical specificities, but deep down they address a very general problem: How best to leverage complex and large-scale data in a complex and large-scale organization.
All large organizations have the same problem: As they grow, they accumulate data, evolve their processes, upgrade their software, and hire new people. Employees interact with evermore people, manage evermore complex projects and products, and handle evermore complex and diverse data. Each specific job starts requiring its own tailored software.
Unfortunately, tailored software is expensive: there cannot be a whole IT team behind each employee. Except… If tailored software becomes so easy to make that a custom-built app can be designed and deployed in a matter of days, instead of months ordinarily.
This is what a search platform like Sinequa can offer. It removes the overhead of developing data connectors, designing data models, managing user information and security, and creating a User Interface from scratch. All these building blocks are already available and waiting to be assembled, within one consistent and integrated ecosystem.
Becoming a Swiss Army Knife
A small well-trained team can easily deploy dozens of tailored applications in a large organization within a relatively short time frame. Each new application gets easier to create than the previous one, as experience and assets build up. Each new application makes work easier for new employees and teams, gradually increasing productivity and overall satisfaction within the organization.