Modern Search Engines

Factors

Let's start with some factors we should consider in picking the right search engine for our use case.

Dataset

  • The size of each row / item
  • The size of the entire dataset
  • If the dataset is fixed or continuously growing
  • If the dataset row / item is immutable or mutable
  • If the dataset row / item has a consistent schema / structure
  • If search-as-you-type experience is needed
  • The amount of parsing, validating, cleaning, transforms

Developer Experience

  • API & Documentation
  • Community & Consultation (for support)
  • Ease of Setup / Installation
  • Ease of Creating / Updating / Deleting Data
  • Operating Costs in CPU, ram, disk, network bandwidth
  • Ease of scaling up (vertically), by adding more CPU, ram, disk
  • Ease of scaling out (horizontally), by adding more server instances

User Experience

  • Search speed
  • Search accuracy
  • Search sorting and filtering

More here: typesense.org/typesense-vs-algolia-vs-elast..

Search Engines

I preferred not to compare them feature-by-feature because they tend to improve quite frequently. But I've put some highlights, links, and examples.

ElasticSearch

TypeSense

QuickWit

MeiliSearch

Sonic

In Other Databases