ElasticSearch vs SQL Full Text Search

Adam Bremen picture Adam Bremen · Dec 11, 2013 · Viewed 14k times · Source

I want to use full text search in my project... Can anyone explain me, what is the difference between ElasticSearch and SQL Full Text Search

Or

why SQL Full Text Search is better (worse) than elastic?

documentations, presentations, schema...

Answer

Marc Gravell picture Marc Gravell · Dec 11, 2013

Define "better"... sql full text search is fairly trivial to get working (indexing and query) - but it has penalties:

  • very little (virtually no) control over how things are indexed (what the index keys are; what the lexers/stemmers/etc are; etc)
  • runs on the sql server - which is usually your least scalable infrastructure

Elastic search requires more work; you need to setup and maintain a dedicated cluster of nodes, and then provide code that performs the actual index operations, which may also involve a scheduled job that works from a change-log (processing new / edited data), building the fragments to be indexed; equally, you need to then take more time building the query. But you get a lot of control over the index and query, and scalability (a cluster can be whatever size you need). If it helps any, Stack Overflow grew up on sql full text search, then moved into elastic search when the limitations (both features and performance) proved prohibitive.