If your site needs a search tool to match your use case, you’ve got two options: build an internal search engine from scratch or buy from a search provider. You might be worried an out-of-the-box solution will be too rigid for your specifications. Yet building your own tool could require resources you don’t have to spare.
Whatever path you decide to take, you need to ensure your business needs and those of important stakeholders, such as project managers, developers, and end-users, are met in the most efficient way possible.
In this article, we’ll evaluate Algolia, a search as a service tool, and popular open source tools like ElasticSearch and Solr to see whether buying or building is right for you.
What is open source search?
Open source search is implemented through free, open source software that is built to handle many different use cases. Typically, the software is governed by the Apache or MIT License, which effectively allows for any commercial or personal use. While this offers flexibility, popular open source software like ElasticSearch or Apache Solr still require a fair amount of technical expertise to build a use-case specific, industry-standard search application.
What is search as a service?
Search as a service is implemented through a software as a service (SaaS) model. With search as a service, search functionality, hosting, operations, maintenance, and more are provided by the software provider. Algolia, in particular, comes with features like instant search, multi-language capabilities, and typo tolerance built into a customizable search interface that is designed to scale as the business grows.
Build vs. buy for search
The question of whether to build or buy your internal search tool hinges on a few key considerations:
- the level and type of search customization you need
- the availability of development resources
- the projected timeline for building your search
Once you’ve outlined what you ultimately need from your search and evaluated your available resources, you can better determine which path to take.
Why build your search?
Building search is a time and resource intensive process that is not for everyone. Though the level of customizability might seem attractive, building only makes sense for a few types of companies.
Resource-rich companies that offer search as a key part of their product or functionality (think Google or Amazon) may take this route since they can devote entire teams to develop, implement, and maintain their search. Additionally, companies with very rigid specifications or those that need to develop a less common type of search (e.g., visual search) may opt to build. However, the vast majority of companies do not fall into these categories.
The benefits of open source search
Open source software is popular in the developer community. For building a search application, it boasts a number of benefits:
- Low initial cost. Open source search requires minimal upfront costs as it can be downloaded for free and run locally while building and testing.
- Community support. Open source search tools are used and developed by software engineers all around the world. Online communities can be a great resource for your engineers as they work through feature development.
- Flexible deployment. The open source search tools are also built to run on many different environments. Whether you’re building a small on-premise search tool or a large distributed enterprise cloud search system, these tools can be extended and scaled to meet most conditions. Furthermore, cloud providers such as AWS and Google Cloud provide some infrastructure for helping deploy and configure the software.
The challenges of open source search
While open source tools provide significant development flexibility, they do offer some challenges as well:
- High total cost of ownership. Building search contains many hidden costs, including the cost of ongoing maintenance and and costs of hosting. Keep in mind that devoting an entire team of engineers to design and maintain your search will cost the company hundreds of thousands a year!
- Technical complexity. Open source tools typically require a fair amount of custom development work to apply them to specific use-cases. This means developers must have a good understanding of how the tools work under the hood to ensure proper use, and any business-specific logic or APIs must be built from scratch.
- Extended implementation timeline. Aligning with business teams on priorities, building, testing, and launching your search will take months, even if your development team is highly skilled.
- Updates and changes to the search require intensive planning. Once your search is live, making even small revisions to your search tool will require the alignment of many stakeholders. Changes to the search algorithm, adding new ranking factors, or developing new features can take much longer than you might expect.
- Monitoring and maintenance can drain resources. Scaling your search as your business grows will take up a lot of your developers’ bandwidth. Time spent on monitoring and maintenance of your search can inhibit innovation and growth initiatives in other areas.
- Search is a black box for the business user. Since developers will do much of the designing of the search, business teams will likely have little to no insight into why items, contents, and/or products rank the way they do.
- Analytics don’t come included. Analytics are crucial for driving improvements and tweaks to the search tool, but they aren’t automatically included with open source software. Make sure to include the cost of your analytics tool or data visualization tool into the total cost of your search.
Why buy a search-as-a-service solution?
Most companies have few development resources to devote to building search from scratch. Yet, adding search functionality could greatly improve the experience for the average site user. In fact, 43% of users immediately go to the search bar on the site. From media to e-commerce to every site in between, online companies have to provide search experiences that live up to the standard that Google, Amazon, Netflix, and other major players have set. Buying a hosted search as a service solution can be an efficient way to improve the user experience while keeping costs affordable.
The benefits of search-as-a-service
Search as a service tools are built to minimize the complexities inherent with getting search up and running. Here are some benefits of buying a search-as-a-service solution, and how Algolia helps you achieve these benefits:
- Customizable search UI out of the box. Algolia offers a range of customizable search UI components out of the box. Federated search, search-as-you-type autocomplete, filters and facets, Personalization and merchandising tools are instantly available, helping put you on the fastest path to building robust search.
- Built-in analytics. With every search, Algolia captures valuable user data and displays it in a digestible analytics dashboard. For no additional cost, you can easily view important metrics, such as click position, CTR, top searches, top searches with no results, countries searches originate from, and use that information to drive changes and improvements.
- Reliability and scalability. If you build from scratch, your developers will eventually have to manage system backups and resolve issues of network latency and downed search. Algolia’s Distributed Search Network eliminates latency. With a 99.999% SLA (available on select plans with a 1000x rebate policy), current API status is always available on the Algolia website.
- Capitalize on instant innovation. Thanks to the search as a service model, new product features, upgrades, and improvements to Algolia are instantly available to all users at no additional cost.
- White-box approach. Algolia’s ranking formula is transparent to all. Additionally, tools, like the visual rules editor, allow business users to make changes and improvements to the search ranking based on business priorities, all without developer assistance.
- Lower cost of ownership. The ongoing costs of using Algolia are reasonable and predictable, and there aren’t any hidden maintenance, hosting, or upgrade costs to worry about.
The challenges of search-as-a-service
While the search as a service model offers many benefits, there are some challenges to consider as well:
- Not a good fit for extremely technical workflows. Algolia is an ideal product for user-facing search. If your focus is analytics/logs processing, you may need a different tool.
- Some loss of flexibility is inevitable. If you aren’t building from scratch, you won’t have control over every minor detail of your search. However, Algolia is highly customizable to a large range of use cases and aims to be a partner to your use case.
- May be hard to switch vendors. As you work with your search as a service provider, you will tweak the tool to your specifications and generate valuable search data. In the case that you need to switch to a new partner, it may take some work to port all of your data and specifications to another vendor.
Choose the best partner for the search experience you want to create
While it’s often tempting to build new applications from scratch, what looks to be a cost saver in the short term, actually takes more time and money in the long term. The majority of companies will find the tools they need in a hosted solution. If you decide to go with search-as-a-service, you’ll need a strong partner that can stick with you while you grow. Watch our deep dive demo to see how Algolia stacks-up to the open source alternatives.