Most of the CMS systems on the market offer some level of support for search functionalities, some of them are quite sophisticated, some are actually pretty poor, some of them cannot provide any search because of the way they work. This article compares the search capabilities of 16 different CMSes.
Prismic
Prismic offers a wide variety of search capabilities, including the full-text search. It doesn’t matter if you want to search within a single data type or in the entire database - you can use the same mechanisms and APIs. You can switch between searching through master, preview, release preview and A/B variations data.
Advantages
Prismic’s query predicates are powerful and easy to understand concepts and are supported by comprehensive documentation.
Prismic’s docs also provide code snippets for many popular languages.
Available in the free plan.
Disadvantages
It doesn’t seem that Prismic provides any sort of scoring within the search results and the response is simply based on “match” or “no-match”.
Documentation does not have the search function itself.
Contentful provides standard search API and GraphQL endpoints. They also support full-text search through their API, but it seems very basic.
Advantages
The search API is easy to use and understand.
Their API provides support for geo-based queries, useful for searching objects within a distance from a given location.
GraphQL endpoint provides standard and powerful filtering options.
Flotiq team
We’re a team of passionate developers dedicated to building innovative solutions and sharing our knowledge. From coding best practices to emerging tech trends, we explore it all. Our goal is to simplify complex concepts and empower developers of all levels. Join us as we learn, build, and grow together!
Most CMS systems offer search capabilities, but they're often very limited and require external services. Read to find out how Contentful, Prismic, ButterCMS, Flotiq and others do search.
A lot of ways of filtering.
Disadvantages
If you want to search for specific Content Type, you can only specify one at a time.
There are no aggregations or result scoring support.
Flotiq (yes, that’s us ;) ) provides extensive full-text search capabilities by wrapping Elasticsearch in Flotiq APIs. Flotiq’s powerful search capabilities make it one of the best headless CMS search solutions.
Advantages
Flotiq’s full-text search is based on queries passed to Elasticsearch, which is a very powerful full-text search engine.
Flotiq wraps the ES API to provide better compatibility with the remaining parts of the API.
Search results are scored.
You can score each field individually, very convenient if you’d like to promote results where the match appears in a specific field, e.g. in the blog post title.
You can aggregate results by any of the fields, which makes it super easy you build faceted search results pages.
Storyblock has multiple but consistent ways of filtering results, you can filter by dates, numbers, and parts of custom fields also with like and not_like elements. But developer must add wildcards themselves and must specify the filed, so it’s very limited full-text search.
Advantages
A consistent and straightforward way of filtering stories.
A lot of ways of filtering.
Disadvantages
You must specify the searched field.
There are no aggregations or result scoring support.
Sanity offers very powerful filtering options using GROQ-queries
Advantages
A lot of ways of filtering.
You can filter by references.
They started to experiments with fields weights.
Disadvantages
You have to learn the new and very specific query language (GROQ).
You must specify a field for filtering.
There are no aggregations.
GROQ documentation is work in progress.
You must specify weights of fields in configuration; they can’t be changed on search queries.
You can check more about search in Sanity documentation 1 & 2 & 3 & 4
Forestry
Because of the way Forestry works (it commits to your git repository), there are no search functionalities out of the box. If we just couldn’t find it, please let us know.
DatoCMS
DatoCMS gives search functionality based on GraphQl filtering, it has very limited full-text search.
Advantages
If you know GraphQL, filtering records in DatoCMS is a no-brainer.
Disadvantages
You must specify a field for filtering.
There are no aggregations or result scoring support.
Like a Forestry TinaCMS has no search functionalities out of the box because of the way it works. As always if we just couldn’t find it, please let us know.
Gentics Mesh
Gentics Mesh provides direct access to ElasticSearch query API and so - offer a very powerful search mechanism.
Advantages
Powerful search engine, based on ElasticSearch
Disadvantages
You will need to educate yourself on ElasticSearch. Gentics Mesh seems to provide raw access to ES, instead of neatly wrapping its API into a set of methods that are familiar to their users.
Cloud CMS provides direct access to ElasticSearch query API and so - offer a very powerful search mechanism. They also allow querying Mongo DB and traverse node graphs.
Advantages
Powerful search engine, based on ElasticSearch.
You can traverse data nodes to find similar objects or objects based on localization.
You can search, query and traverse all at once to get the best results.
Disadvantages
You will need to educate yourself on ElasticSearch. Cloud CMS seems to provide raw access to ES, instead of neatly wrapping its API into a set of methods that are familiar to their users.
Contentstack provides a pretty complex standard search API and a limited full-text search. They recommend integrating with other services to provide full-text and ranked search results.
Advantages
They openly admit that you should use a dedicated search solution.
Butter CMS doesn’t seem to care about search that much. They seem to only provide a search endpoint for their blog engine, and even that is very limited.
Advantages
Can’t think of anything, sorry.
Disadvantages
Very limited support, only in the blog engine part.
Acquia
Acquia has plug-and-play search service based on Solr with Nginx load-balancer for better availability.
Advantages
Result aggregation and scoring.
High availability.
You can search through attachments.
Content recommendations.
Disadvantages
Can’t use Acquia Search in the dedicated virtual private cloud.
Although most headless CMS solutions offer some kind of search - it’s often very limited.
Having a powerful search engine, which is wrapped in a set of convenient APIs, seems a must to provide the end-users with search results that can be:
easily navigated,
sorted,
and faceted.
Yet, the most popular systems, like Contentful or ButterCMS, seem to ignore the problem and significantly limit the support for search.
The contending systems, like Cloud CMS, Flotiq, Acquia or Gentics Mesh - offer better support for search by providing access to ElasticSearch or Solr, either directly (Gentics, Cloud, Acquia) or by wrapping it into more straightforward and more familiar APIs (Flotiq).