Algolia DocSearch in a Hugo static site

Hugo

Products we use

Hugo

Hugo is a static site generator written in Go”). Originally created by Steve Francia in 2013, Hugo has seen a great increase in both features and performance thanks to current lead developer Bjørn Erik Pedersen (since v0.14 in 2015) and other contributors. Hugo is an open source project licensed under the Apache License 2.0.

Being able to generate most websites within seconds (at < 1 ms per page), Hugo is renowned as “The world’s fastest framework for building websites” thanks to not only it being built with Go but also conscientious efforts by its developers to benchmark and increase performance. Its lightning speed and evolving feature set led to a huge increase its popularity. For example, in July 2015, Netlify began providing Hugo hosting, and in 2017, Smashing Magazine completed its redesign of their website, migrating from WordPress to a JAMstack solution with Hugo.

Features

Hugo takes data files, i18n bundles, configuration, templates for layouts, static files, and content written in Markdown and renders a static website. Some notable features are multilingual support, image processing, custom output formats, and shortcodes. Nested sections allow for different types of content to be separated. E.g. for a website containing a blog and a podcast.

Algolia

Algolia is a U.S. startup company offering a web search product through a SaaS (software as a service) model.

Company

Algolia was founded in 2012 by Nicolas Dessaigne and Julien Lemoine, who are originally from Paris, France. It was originally a company focused on offline search on mobile phones. Later it was selected to be part of Y Combinator”)’s Winter 2014 class.

Starting with two data centres in Europe and the US, Algolia opened a third centre in Singapore in March 2014, and as of 2016, claimed to be present in 47 locations across 15 worldwide regions. It serves roughly 7,000+ customers, handling 60 billion user queries per month. Those customers span e-commerce, media and other industries, including DC Shoes, Medium”) and vevo. In May 2015, Algolia received $18.3M in a series A investment from a financial group led by Accel Partners, and in 2017 a $53M series B investment, also led by Accel Partners From June 2016 to June 2017, the usage of Algolia by small websites has increased from 632 to 1,591 in the “top 1mio websites” evaluated by BuiltWith. In the same timeframe, BuiltWith recorded no significant usage increase among their “top 10k homepages”.

Products and Technology

The Algolia model provides search as a service, offering web search across a client’s website using an externally hosted search engine. Although in-site search has long been available from general web search providers such as Google, this is typically done as a subset of general web searching. The search engine crawls or spiders the web at large, including the client site, and then offers search features restricted to only that target site. This is a large and complex task, available only to large organisations at the scale of Google or Microsoft.

Algolia’s product only indexes their clients’ sites and so the search task is far simpler. Data for the client site is pushed from the client to Algolia via a RESTful JSON API, then the search box is added simply to the client’s web pages. This search model is intended to give the performance and sophistication advantages of a full in-house search engine operating on the native web site back-end database, but with the simplicity of setup of using a site-restricted Google search.

Products

Algolia claims a number of advantages for their approach, including speed of response from searching a single site rather than the entire web. Moreover, as Algolia’s search can be tailored to the client site, its known structure and its metadata facets, the search offered can be smarter and more site-specific than a generalised web text search. This improves the relevance of search results as searching may take the semantics of site content into account. A web site selling both puppies and dog clutches could avoid the search confusions and homonymy that bedevil the simple text-based search approaches.

Algolia emphasize their ability to provide instantaneous, multi-platform and typo-tolerant features. Algolia’s software is closed source. They do however contribute to the open source community to an extent. Two examples are Algolia Place and Algolia Document.

API

Algolia provides their search service via various APIs. The Rest API provides basic features of search, analysis and monitoring. There are 10 supported languages and platforms for client usage. Supported languages include Python”), Ruby”), PHP, JavaScript, Java”), Go”), C#”), Scala”). Two mobile platforms, iOS, Android”), are supported. Algolia can be also integrated with four web frameworks: Ruby on Rails, Symfony, Django”) and Laravel. For user interface, Algolia has a few UI libraries options to choose from.

Besides these products, Algolia also has integration with other open source and third-party software, including Drupal, WordPress and Magento.

Infrastructure

Algolia documented one attempt to remove all single points of failure in their architecture and proposed a worldwide infrastructure called Distributed Search Network to efficiently reply to a search query from any location.

The DSN feature allows to set the locations in Algolia’s network where the data should be duplicated. The API and queries are routed from the end-user’s browser or mobile application to the closest location in the network. That setup helped reduce processing latency for the end users, and improves availability for their searches.