Sitecore Search vs Algolia

Introduction

Sitecore Search is a headless content discovery platform with generic connectors to extract and index content, search management controls, A/B testing, analytics, and self-service configuration. With Sitecore Search, you can create best-in-class, engaging, and predictive content search experiences across content sources.On the other hand, Algolia is a search engine as a service provider that offers fast, relevant, and scalable search solutions for websites and mobile applications. It has been built with high performance and low latency in mind. Algolia is an AI-powered search and discovery platform for dynamic experiences that helps businesses maximize the speed of search and discovery, while solving the pain of relevance tuning through AI. Accessing the right content or products on websites and apps has never been faster or more intuitive with the help of Distributed Search Network.

From developer’s perspective

  • Search Algorithm: Algolia uses a proprietary search algorithm designed to provide fast and relevant search results. Sitecore Search uses machine learning algorithms to provide personalized and relevant search results.
  • Customization: Algolia allows for extensive customization of the search experience, including the ability to tailor search results to specific needs. Sitecore Search provides a comprehensive set of features, but customization may be more limited compared to Algolia.
  • Admin User Interface: Algolia has a simple, user-friendly interface that makes it easy to manage and analyze search data. Sitecore Search integrates with the Sitecore platform, offering a unified view of customer behaviour and search data.
  • Integration with Other Platforms: Algolia is a standalone search solution and supports many integration plugins out of the box. Sitecore Search is integrated into the Sitecore platform, allowing for a unified view of customer behaviour and search data.

From public user’s perspective

  • Personalized Search Results: Algolia provides individualized ranking to users based on their past behaviour. A user’s behaviour implicitly reveals their preferences and interests, what Algolia refers to as “affinities.” Whereas Sitecore Search uses machine learning algorithms to provide personalized search results, taking into account user behaviour and other data to provide relevant results.
  • Faceted Search: Algolia provides faceted search functionality, allowing users to refine search results based on specific criteria. Sitecore Search provides intelligent faceted search, allowing users to easily find the information they need.
  • Search Result Ranking: Algolia allows for customization of search result ranking, but the ranking algorithm may be limited compared to Sitecore Search. Sitecore Search uses a combination of relevance and user behaviour to rank search results, providing a more comprehensive approach to search result ranking.
  • Speed and Scalability: Algolia is known for its speed and scalability, making it a popular choice for websites and applications with high traffic and complex search requirements. Sitecore Search is optimized for performance and scalability, but may not match the speed of Algolia.

Let’s go little deeper into feature wise comparison

Feature wise comparison

Based on Content Sources

Both Sitecore Search and Algolia, do’t directly search data sources. instead, data must be sent to the Search servers so the engine can index it in its own way and perform search on those indexed data.Sitecore Search is currently offering Web Crawler as a search source for the platform administrator.Where as Algolia offers multiple ways..

  • Algolia CLI
  • Algolia’s API clients
  • In the Algolia dashboard you can upload a JSON, CSV, TSV file
  • Using the Algolia Crawler. It automatically crawls your content directly from your site and indexes it into Algolia. The Algolia Crawler is available as an add-on.

Based on API Clients

Currently, Sitecore Search doesn’t offer any API Client to push the data into Search platform and there is very less in documentation as well around this topic.Whereas, Algolia do support multiple API Clients. The primary function of Algolia’s API clients is to send data to your index. Follow the guidelines to install your preferred API client:

Based on Content Schema

It is great, to have feature available to create multiple schemas depending on type of source or inter-dependencies among sources.Currently, Sitecore Search support only one global schema across the organization or application. Enable this feature to support multiple schemas for different sources is on Sitecore’s product team roadmap.Whereas, Algolia does support multiple content schema. When you can create multiple schemas, the biggest question could be, should I create one large index for all your records, or create multiple indices?The answer is, It depends on your ranking strategy and which user experience you want to create.When data is independent from each other, better to go with multiple. i.e. One data source may be your product catalog. Another data source may be a support FAQ, or Query Suggestions.Depending on how you want to organize and present the search results, you can create one index for all data sources or separate indices for each data source.Multiple indices for federated searchUsing multiple indices is useful when:

  • You need to configure each index independently. For example, one index for movies, another for actors. With federated search, you can show results from both indices in the same interface, allowing users to search for both actors and movies.
  • You want to use different ranking strategies for the same data. For example, showing highest-rated and showing most recent movies.

Single index for federated searchUsing a single index is useful when you want to use a single ranking strategy. Users can search for anything, see movies and actors in the same results list, ranked by the same relevance configuration.

Based on available Integrations (OOTB)

Sitecore Search team is actively working on a connectors to connect Sitecore composable products itself, and other integrations are also in roadmap.On the other hand, Algolia offers several official integrations to simplify the indexing process for popular frameworks and platforms. If you’re using one of the solutions listed below, you can install the corresponding extension to index your content. 

Based on capability of Spatial Search

Spatial indices are a family of algorithms that arrange geometric data for efficient search. For example, doing queries like “return all buildings in this area”, “find 1000 closest gas stations to this point”, and returning results within milliseconds even when searching millions of objects.Spatial data has two fundamental query types: nearest neighbors and range queries. Both serve as a building block for many geometric and GIS problems.For Sitecore Search, It is not yet supported but on the roadmap.Where as in Algolia, Geo-searching allow us:

  • Filter and sort around a set of latitude and longitude coordinates
  • Filter and sort around the user’s location based on their IP address (IPv4 only)
  • Filter by one or more box-shaped geographical areas (bounded boxes)
  • Filter by one or more freely drawn geographical areas (polygons)

Based on availability of Distributed Network

Distributed network is a system of interconnected but independent networks, often spread across multiple geographical locations. It does mean, distributed network doesn’t have a single point of failure.Sitecore Search have 3 main clusters USA, EU and AJP. However, when request is being made, the content will be served from the region selected for the account.Whereas, Algolia does support it. Algolia’s Distributed Search Network (DSN) adds one or more satellite servers to a cluster. This extends the reach of an Algolia cluster into other regions, closer to end users.

Based on Logging & Monitoring

When we are talking about enterprise level search platform, how strong & rich, their logging, tracing and monitoring mechanisms of entire engine, is the main feature set of the solution.In Sitecore, there are APIs that can provide this information. Sitecore Search backoffice will be augmented over the next few months to expose more of the innerworkings of a crawler-based sourceWhere as in Algolia, you can visit dashboard and open the Search API logs tab in the Monitoring section. This tab lists all recent requests that the search API received in real time. It shows the full URL path of the request, the HTTP verb, the status of the request, and when it was received. You can hit the Pause button and navigate pages if you want to look at earlier entries without the list updating.Also, Monitoring APIs are there. This API enables you to see the inner workings of your clusters/replicas. It is not accessible by the standard API clients. The Monitoring API lets your interact directly with the status of your Algolia clusters from anything that can send an HTTP request

Based on Notifications Feature

In Sitecore Search, the notification feature is a standard notification service that can deliver emails to platform administrators or by extension, can be webhooked to trigger a notification via e.g. pager duty, Slack, Teams or via Sitecore Connect to other productivity software if needed.Per Sitecore, Push API is already there in the backend but not available for general administrator. It will be released in CEC within this quarter.Where as Algolia can trigger push notifications and can also feed to a monitoring dashboard on any other websites..

Based on Automated Content Tagging

Retailers spend a lot of time building their catalogs. To offer a relevant search and discovery experience, they often manually classify each item, adding meta features like item type, material, style, etc. Removing some of this manual work lets you focus on the data that is important to your business—for example price, stock quantity, and popularity.Sitecore Search runs by default AI content embeddings process to generate vectors, you don't have to do anything as a customer to turn on this capability as it is enabled OOTB. However, Sitecore Search doesn’t support content extraction from image.In Algolia, Visual recognition enables automatic extraction of this information by analyzing each product image. It makes feature tagging more consistent. Algolia allows third party API or platform to classify images and enrich Algolia records. Some of the examples are Google Cloud Vision API and ViSenze, but the process is the same for other providers like Amazon Rekognition.

Based on Personalization

Sitecore Search uses machine learning algorithms to provide personalized search results, taking into account user behaviour and other data to provide relevant results. Sitecore Search integrates with the Sitecore platform, providing access to customer behaviour and other data for personalized search.Whereas Algolia’s relevance strategy treats every user the same way. When personalization is enabled, it kicks in after the engine computes your results’ textual relevance and applies the business relevance.If we use Rules, the engine applies them after the Personalization. Personalization acts in concert with these to individualize search results. It doesn’t replace Algolia’s ranking algorithm—it refines it by changing the order of pre-sorted results to promote more relevant results to the individual user.

Based on A/B Testing

Sitecore's Search and Merchandising features provide the capability to perform A/B testing for search results. With Sitecore, you can create multiple search result variations and test them against each other to determine which one performs the best. But very less details are available around this topic till today.On the other hand, Algolia A/B Testing was designed with simplicity in mind. This user-friendliness enables you to perform tests regularly. Assuming you’ve set up Click and Conversion Analytics, A/B Testing doesn’t require any coding intervention. It can be managed from start to finish by people with no technical background.To perform A/B testing, you need to set up your Click and Conversion Analytics: this is the only way of testing how each of your variants is performing.

Based on Docs & PDF Indexing

Can I index PDFs, Word, and other types of documents?In Sitecore Search, Docs, PDFs or Media files are just like any other document. Sitecore search will index media attributes and a reference to where the content is hosted.In Algolia, the answer is Yes, but not directly.Documents are transformed into HTML by a dedicated Tika Server. To allow the crawler to index documents that are formatted differently, we rely on a Tika Server that is maintained by Apache. The server extracts a document’s content and transforms it into a basic HTML file.If you want to index long documents with Algolia, you need to split them into smaller records. There’s a record size limit for performance reasons, meaning each new “chunk” should realistically be a paragraph or two.When we are talking about feature set available for admin user, there are multiple things that we can be discuss. But at the core level, let see what kind of index operations are available for the admin user in both.Here in Sitecore, we are on the Content (Index) Browser page. The options we can see here are

  • Attribute/Field wise searching
  • Content Type wise searching
  • Different views of Search result
  • Result listing with available fields

Where as in Algolia, we have loads on information and actions specifically available for indexed data like.. You can see..

  • Average record size, at the top.
  • Multiple options like browse, configuration, replica, search api logs, stats and UI demoes
  • Voice assistance to apply search
  • Facets listing at the left
  • Result view i.e. Details, Grid, List and even JSON and
  • The interesting one at the bottom, record deletion and editing feature, which is badly missing in Sitecore Search

Based on Frontend Productivity

Currently, Sitecore Search doesn't support hosted pages. Sitecore Search doesn’t offer any frontend related libraries, and everything must be done by consuming APIs only. But Sitecore does have similar kind of feature set available for Sitecore Discover and later that can be introduced in Sitecore Search as well.Algolia offers Pre-built front-end components for various platform to speed up the implementation. It hasUI Component: Build your front end using pre-built components for instant search, auto-complete, recommendations and more. Customize your user experience with little effort.UI Templates: Utilize pre-built templates for your user interface and customize them as you see fit. UI templates are a great way to start with the full experience with an option to keep refining it.Here is the list of all libraries, Algolia offers to increase front end team productivity.

Building a search UI

To help you build the best solution as quickly and with as little friction as possible, Algolia offers a family of UI/UX libraries called InstantSearch.InstantSearch offers a full set of UI components that you can use on any web, mobile, or voice application.In minutes, you get a fully functional search UI. You can use the InstantSearch widgets out-of-the-box, or fully customize them.Along with this, It also offers many benefits to the back-end developers as well. some of them are as below.Algolia provides a set of tools that simplify the process of making and integrating a full search experience into your sites and applications. These include:

  • Backend API clients, in many different languages, to index, configure, and manage your data.
  • Frontend widgets to build web and mobile search experiences.
  • Integrations with popular frameworks and platforms, to further simplify the integration of Algolia in your existing projects.
  • A secure, distributed search network that hosts your content and serves it to your customers quickly.
  • A transparent, customizable relevance algorithm.
  • A heavily optimized search engine built, from scratch, in C++.
  • Extensive documentation, implementation guides, and code examples.

Conclusion

In conclusion, Algolia and Sitecore Search are both excellent options for website and application search. Algolia is a standalone search solution that emphasizes speed, scalability, and customization, while Sitecore Search offers a more comprehensive set of features, including personalized search results and intelligent faceted search, as well as integration with the Sitecore platform. The choice between the two will depend on the specific needs and requirements of the project