Amazon Elasticsearch Service is a fully managed service that enables users to search, analyze, and visualize your log data at petabyte-scale. As a fully managed service, Amazon Elasticsearch Service manages the setup, deployment, configuration, patching, and monitoring of Elasticsearch clusters, so users can spend less time managing clusters and more time building applications. With a few clicks in the AWS console, users create scalable, secure, and available Elasticsearch clusters. Amazon…
N/A
Apache Solr
Score 8.8 out of 10
N/A
Apache Solr is an open-source enterprise search server.
Elasticsearch is a good alternative to relational databases for setting up complex searching of data. It's inbuilt features for slicing the data [in] different ways and its ability to add weights to search results makes it easy to set up complex searching scenarios. Given that data must be pushed to this service, it may be best suited for data that is not changing very rapidly.
Solr spins up nicely and works effectively for small enterprise environments providing helpful mechanisms for fuzzy searches and facetted searching. For larger enterprises with complex business solutions you'll find the need to hire an expert Solr engineer to optimize the powerful platform to your needs. Internationalization is tricky with Solr and many hosting solutions may limit you to a latin character set.
Easy to get started with Apache Solr. Whether it is tackling a setup issue or trying to learn some of the more advanced features, there are plenty of resources to help you out and get you going.
Performance. Apache Solr allows for a lot of custom tuning (if needed) and provides great out of the box performance for searching on large data sets.
Maintenance. After setting up Solr in a production environment there are plenty of tools provided to help you maintain and update your application. Apache Solr comes with great fault tolerance built in and has proven to be very reliable.
These examples are due to the way we use Apache Solr. I think we have had the same problems with other NoSQL databases (but perhaps not the same solution). High data volumes of data and a lot of users were the causes.
We have lot of classifications and lot of data for each classification. This gave us several problems:
First: We couldn't keep all our data in Solr. Then we have all data in our MySQL DB and searching data in Solr. So we need to be sure to update and match the 2 databases in the same time.
Second: We needed several load balanced Solr databases.
Third: We needed to update all the databases and keep old data status.
If I don't speak about problems due to our lack of experience, the main Solr problem came from frequency of updates vs validation of several database. We encountered several locks due to this (our ops team didn't want to use real clustering, so all DB weren't updated). Problem messages were not always clear and we several days to understand the problems.
It is an extremely powerful tool if the time is put in to learn it. There are basic skeletons of out of the box behavior, it involves having really dedicated people to learn how to use it to take full advantage of its capabilities. A 10 for the tool itself, minus 3 for the difficulty in learning and maintenance
It takes some time to deploy and currectly maintein it. And also, to learn how to use and integrate in the enviroment as well. Once you get theses steps done, it usability is very simple, and almost of the time it don't require no further attention on it. Even for maintence, if you deploy it on a cluster mode, it is very reliable and easy to take one host down.
Splunk is the most flexible of the 3 where you can manipulate the data to whatever fits your specific use case. Grafana has the most powerful capabilities but the steepest learning curve. Grafana also does offer the most flexibility as you can visualize almost any data source. Elastic is a solid middle ground between the 2
We tried to use both Elasticsearch and Swiftype with Drupal 8 but there are currently no good modules that integrate Drupal with those solutions. So Solr was really the only option for a Drupal 8 web site. It's not as easy to learn or use as Swiftype, but in the end I think it will be a little less expensive and offer more customization and flexibility.