Difference between Couchbase FTS and ElasticSearch

What is the Difference between the functionalities of couchbase FTS and Elasticsearch?
What are the advantages and disadvantages of using Couchbase FTS over ElasticSearch?
Any insights are appreciated!

Hi @Rajeev_Bhat,

this is the short version, I don’t have the long version :slight_smile:
At the core of both is an inverted index for indexing text data, infra to analyze the text in various ways (analyzers) and then to query them based on relevance (scoring).
Elastic uses Apache Lucene, written in Java;
Couchbase FTS uses Bleve, written in golang, developed by Couchbase.
There are, of course, many smaller functional/perf differences.

At a high level, if you can translate all of your workload per perf issue to be a “search problem”, you’re good with Elastic.
That’s how they solve all of their issues. They translate their “Elasticsearch SQL” into their DSL.
In Couchbase, FTS has been tightly integrated into N1QL – you have the full power of the SQL like language for doing your select-join-nest-unnest-aggregate-window-project operations using FTS/GSI/etc. See: https://blog.couchbase.com/introducing-fts-with-n1ql/

1 Like