Since you’re here, we suspect you’re planning on building a site search for your web app or website, right? Of course, you want to examine your options and find the ideal solution for your use case. Are you wondering about the differences between Elasticsearch, Solr, and AddSearch? Which of the three suits you better? Let’s find out!
Before reading any further, please note that we have a similar blog post on Swiftype, Algolia, and AddSearch. So if you’re interested in learning about these solutions, we encourage you to read this article as well.
Take a look at this table for a quick overview of the differences we’re going to talk about:
|Setup & implementation|
|Hosting||Managed Search-as-a-Service that takes care of the search engine and the infrastructure it runs on for you.||Provide, setup, and maintain infrastructure on-premises or in the cloud yourself.||Same as with Elasticsearch.|
|Security||Authentication, 24/7 monitoring, bank-level encryption of data, geographically distributed data centers, and SLAs.||Offers basic security features like authentication and SSL encryption. Build more features yourself or pick one of Elastic’s paid plans.||Offers basic security features like authentication and SSL encryption. Implement additional security features at will.|
|Indexing||Provides a web crawler that scans content and stores it in the search index. Also provides RESTful APIs to push data in JSON format into the index manually.||Use RESTful APIs to push content in JSON format into the search index. APIs are well documented and straightforward to use.||Provides REST-like APIs to push data in JSON format into the search index.|
|Features & Tools|
|Search capabilities||Contains all relevant search functions for immediate use by default.||Most relevant search capabilities must be implemented or can be used via APIs. Some features are only available with the paid subscriptions.||Search functions must be implemented yourself or can be used via APIs and configuration files.|
|Analytics & Dashboard||Dashboard for managing, monitoring, and analyzing search & search data. Enter synonyms, fine-tune search results, and adjust search rankings here.||Comes with Kibana to manage the search index and view analytics data. Add synonyms and adjust the ranking via APIs.||Provides a dashboard for managing the search index, but not search analysis. Optimize search rankings and add synonyms via APIs and config files.|
|Support||Provides SLAs and priority support for high-tiered customers. E-mail and live chat are available to all users with response times within one working day.||Get help from the Elasticsearch open-source community. Get enterprise-level support by choosing a paid subscription from Elastic.||Get open-source community support or hire a Solr consultant.|
|Pricing||From $25/month||Open source and Basic versions can be used free of charge.||Open source and free to use.|
Who are Elasticsearch, Solr, and AddSearch?
Solr is an open-source search engine based on Apache Lucene. It has enabled developers to create customized and fast search solutions since 2004, making it the oldest of the three solutions. Since then, a large community has gathered around Solr, which strives to continuously update and develop the solution.
Elasticsearch is also based on Apache Lucene but is much younger than Solr (2010). The core of the solution is open source. Still, Elastic, the company behind it, builds additional, differently licensed functions on top of the solution. Besides, Elasticsearch is not a pure search engine but a database that enables efficient work on big data projects.
AddSearch is a customizable site search solution for businesses. As SaaS, it offers customers ready-made solutions without them having to worry about the maintenance and further development of the search engine themselves. All in all, AddSearch gives companies various options for implementing searches to meet their diverse requirements and resources.
Now that we know a little bit more about each solution let’s compare them!
Setup and implementation
One of the key differences is that AddSearch is a managed Search-as-a-Service, while you can run Elasticsearch and Solr on your own infrastructure. This means that you can start using AddSearch right away. In contrast, the other two solutions need to be downloaded, installed, and configured first.
To host your Solr or Elasticsearch search engine on-premises or in the cloud, you need to cover the required resources and requirements. For example, this includes the time and manpower required to set up and operate the search engines. Of course, the acquisition and operating costs also play an important role, which should be carefully examined. Besides that, you also need the right in-house expertise to properly set up and keep the search engines running. However, both solutions offer handy tutorials to help you get started with installation and operation.
With a managed solution like AddSearch, you don’t need your own server, and you don’t have to worry about installation and maintenance. We ensure that the search engine runs under optimal conditions and keep an eye on operations for you. Yet, this also means that you have no control over the infrastructure and likely share servers with other customers.
Both Solr and Elasticsearch have basic security features such as authentication, SSL encryption, etc. However, you must also secure your server or cloud infrastructure so that attackers cannot access your data.
Now is the perfect time to briefly talk about Elasticsearch’s licensing model. There are two free versions: Open Source and Basic. The first one uses the Apache License and is, therefore a 100% open source. However, the Basic version comes with additional features like encrypted communication and monitoring on top, licensed under the proprietary Elastic License. If using open source is a must for you, choose Solr as all features are available under the same open source license.
Since AddSearch is a managed SaaS, we make sure that the search engine and the servers it is running on are secured and monitored 24/7. We use bank-level encryption when storing and transferring your data. We also have geographically distributed data centers and offer SLAs if required. In return, however, you have no direct control over how your AddSearch instance and data are kept secure.
Crawling and indexing data
Both ElasticSearch and Solr offer APIs to push content into the search index. APIs offered by Elasticsearch are RESTful, and data needs to be in JSON. It’s also noteworthy that all APIs are neatly and consistently documented, making them straightforward to use.
Solr dates back to before JSON when we used XML to structure data. While XML is still in use today, Solr has now switched to the popular JSON format to structure search data for its RESTlike APIs. This shows that the community is working to keep the search engine modern.
Building and populating your Search UI
Because Solr and Elasticsearch are open-source projects, you can find different search UI libraries for various languages and frameworks on the internet. As a result, you can work with a library that suits your needs and tech stack. However, you must also take into account that support or quick bug fixes may not be guaranteed.
Of course, you can also create a unique and customized user interface yourself from scratch. Yet, this also means that you have to code the search interface and all of the features it needs, including auto-complete and filters, and therefore need skilled frontend developers.
You then use APIs to query data from the search index and feed your user interface with it. Both solutions work with a JSON-based Query DSL (Domain Specific Language) to define API queries efficiently and make them easily readable. You can also use Solr’s Standard Query Parser to write complex search queries that you cannot easily create in Elasticsearch.
AddSearch also provides APIs that you can use to retrieve the needed data from the search index. Yet, you can also work with our Search UI library. It makes fetching content and creating the UI much more comfortable, while still giving you plenty of customization options. If you don’t want to worry about creating the search UI and needed features, you can incorporate ready-made views into your website. In this way, you get reliable search functions fast and with little effort. However, you have limited options for changing the UI’s appearance.
Features and Tools
In general, you can be sure that you can create and use all of the standard search features with Elasticsearch, Solr, and AddSearch:
- Filters, facets, and sorting
- Auto-complete and suggestions
- Synonyms and typos
- Re-ranking (e.g., promoting certain content)
- And more
Yet, you have to keep in mind that if you introduce a new feature, in most cases, you will have to invest more resources building it with Solr and Elasticsearch. Also, depending on your in-house skills, you may not be able to implement the feature at all, or it may take a long time. With AddSearch, on the other hand, you can use search features without creating them yourself, as we provide you with everything you need ready to go.
Analytics and dashboard
Elasticsearch comes with Kibana, a visualization tool that serves as an interface to manage your search index and look at analytics data. You can secure this dashboard with a login and activate role-based access control, so that, for example, your marketing team can’t change the search engine settings by accident.
Solr also has a dashboard that you can use to secure and restrict access. The Solr dashboard is intended for technical staff and requires the necessary expertise to manage, similar to Elasticsearch.
None of these dashboards allow you to, for example, add synonyms or adjust the ranking out-of-the-box. All of this happens via config files or APIs.
With AddSearch’s dashboard, you can do anything to optimize and monitor your search. For example, it lets you analyze search data and connect them to Google Analytics or Adobe Analytics to get detailed insights into your site search performance. Additionally, this is the place to enter synonyms, adjust result relevancy, etc. Depending on the subscription plan you choose, you get access to additional features, such as Single Sign-On (SSO) to make the dashboard even more secure.
Other use cases
What can you do with Solr, Elasticsearch, and AddSearch? This may sound like an odd question, but it can be an important one for your company.
Solr and AddSearch are search engines. They do what they’re supposed to do and do it exceptionally well. However, Elasticsearch is not just a search engine – it’s also an analytics engine. Companies use the ELK stack (Elasticsearch + Logstash + Kibana) to create platforms for collecting, searching, analyzing, and visualizing data. Elasticsearch works well for big data projects, but it may be too large and complex to implement a simple site search.
Solr is a community-driven project, which means that you can ask the community for help if you run into troubles. This is especially useful for technical questions as the community is mostly made up of developers. Since Solr is a bit older, you can probably find the answer to your question on StackOverflow already. The disadvantage is that you don’t know when or if you will get an answer. Yet, if you need business-friendly support, you can always hire an external consultant.
Your support options for Elasticsearch are like Solr’s. The main difference, however, is that Solr is more of a business-oriented project. There’s a community that helps develop the open-source core. Still, Elastic is the company behind the tool that develops and sells additional functionality based on the core. It has its own support area (a ticketing system) where you can get help if you have chosen one of Elastic’s paid subscriptions.
At AddSearch, we are incredibly proud of our customer support. We provide SLAs and priority support with our high-level plans to resolve your critical questions and issues quickly. If you don’t require priority support, we still respond to technical or administrative questions within one business day so you can get back to work instantly. Additionally, we offer a live chat for quick troubleshooting sessions most of the time.
Solr is purely open-source, which means that you can use it personally or commercially for free. However, this does not include the infrastructure and resources you’ll need to build, run, maintain, and troubleshoot site searches created with Solr. Even if Solr looks like the cheapest option, you need to check the long-term costs to see if it pays off.
The Elasticsearch versions “Open Source” and “Basic” are both free. Yet, you also need to calculate infrastructure, development, and maintenance costs to get a more accurate cost estimate. Additionally, Elastic, the company, offers priced subscription plans with extra features, tools, and support that you might want. We don’t currently see prices for higher tier subscriptions, and you’ll need to contact the staff for more information.
You can try AddSearch with a 7-day trial to see how it works and if it meets your expectations. If you like our tool, you can choose one of four different subscription plans that suit every need and budget. The most popular subscription is Premium at $ 349 per year, which covers all requirements for most use cases. The Premium and Enterprise plans are particularly interesting for companies that do not want to create site search themselves but want to leave the implementation to us.
Should you choose Elasticsearch, Solr, or AddSearch?
We hope that you can now answer the question of whether you should build your site search with Elasticsearch, Solr, or AddSearch much more confidently.
When you’re sure you want to build a search from scratch and have the resources and expertise, go for Solr or Elasticsearch. With the do-it-yourself approach, you keep full control over the search solution, servers, implementation, design, etc. If you also want to visualize and analyze server logs, CRM data, etc., take a look at the ELK stack. If you wish to create a site search with a 100% open-source solution, choose Solr. It’s a reliable search engine known to be fast and effective with a large community continuously working on improving it.
Yet, if you want to enjoy the simplicity and effectiveness of SaaS, go with AddSearch. We offer various basic and advanced search capabilities that you can use quickly and safely on your website or web app. All you need to do is have our web-crawler index your website, and then use one of the different ways to create a search interface to display search results. Let us take care of maintenance and security and focus on creating value for your users.