Apache Solr is an open-source enterprise search server.
N/A
Sitecore Search
Score 9.0 out of 10
N/A
Sitecore Search (or Sitecore Discover, formerly Reflektion), is a customer centric personalization platform that optimizes customer experiences on an individual basis in real time.
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.
Reflektion is very well suited for ecommerce sites that are looking to provide their customers meaningful product recommendations tailored to their specific user experience on our site. We are also beginning to use Reflektion for search results. If you find that your customer base uses your search bar or is having issues with their search experience, Reflektion offers a great auto complete search results feature. We have a sister site that only offers a small catalog of products and we do no use the auto search results feature on this site. If your company has a small catalog the search results tool may not be as effective. I cannot think of a scenario in which an ecommerce site would not find it helpful to provide customized product recommendations to their customers.
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.
Reflektion provides individualized results based off each customer's unique browse experience on the site. This is beneficial because it gets more accurate results than segmenting customers by certain behaviors consistent with other customers.
Reflektion is responsive to our business. They treat each request with professionalism and work to find solutions quickly.
Reflektion has several beneficial features to further enhance the customer experience through a learning environment. Reflektion learns synonyms and is able to adjust for more accurate results. They also provide full page results with faceted navigation which leverages the individualized learning into the product results specific for each customer in a seamless integration with the site.
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.
While I mentioned that training our team in using the Reflektion dashboard was quite pain free, the dashboard can get a little overwhelming to a first time user. There are a lot of options and customization features available that can be intimidating at first.
There isn't really too much for us to criticize with Reflektion. As I said, we switched from another product to Reflektion and so far have had almost no issues. When they do come up, the Reflektion team has been very helpful.
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.
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.
Reflektion is a very cost-effective, complete solution providing individualization for preview search, product recommendations, full page search, and content. Compared to the other services they offered more features utilizing SOLR results but with continued learning. Other services didn't have the full list of capabilities or were much more expensive.
Increasing conversion rate is almost always the goal when we start a new project and it is safe to say that Reflektion has helped us increase conversion rate for customers clicking through product recommendations.
With our previous recommendations engine, tweaking and customizing the recommendations on our site was not nearly as effective or easy as it is with Reflektion. This has saved us countless hours in dev and manual operations work.
We have not seen any negative impacts of Reflektion and hope this continues.