Typesense - A New High-Performance Search Engine 4 Plone

Track:
Plone: Backend

Typesense is a modern, privacy-friendly, open-source search engine, meticulously designed for performance and user-friendliness.

We implemented Typesense in our Onkopedia project to replace the hopelessly outdated Plone search. Typesense offers the following out-of-the-box features:

- Search-as-you-type

- Autocomplete

- Faceted Navigation

- Geo-Search

- Fuzzy Search

- Vector Search

- Semantic Search

- Recommendations

- LLM Augmentation

- Geo-Distributed Cache

We chose Typesense for Onkopedia for several reasons:

- Modern implementation

- Easy deployment (a single binary) and simple clustering

- JSON as data format (input data, search results)

- Declarative search form with many widgets (including faceted search)

The presentation covers the following aspects:

- Introduction to the technical concepts of Typesense

- Configuration of the data schema for search

- Configuration of the search form and its parameters

- Concrete implementation in the Onkopedia project

The default full-text search feature in Plone is now viewed as insufficient in 2024, lagging behind current technology by two decades. While Solr has been a popular choice for implementing full-text search in Plone, its integration has faced challenges. Therefore, a more advanced and reliable solution is required. Our search for an improved option led us to Typesense, a modern and lightweight full-text indexing solution that offers all the necessary features to create a superior search experience for our portal Onkopedia.