×marble
all posts
Jun 29, 2026·13 min read

Algolia vs Elasticsearch for Personalized Search: An Honest Comparison

Algolia and Elasticsearch occupy different ends of the personalized-search market. The honest comparison for ecommerce — cost, control, and what you're actually buying.

Alex Shrestha·Founder, ×marble

Algolia vs Elasticsearch for Personalized Search: An Honest Comparison

TL;DR.

  • Algolia vs Elasticsearch for personalized search is not a feature comparison — it is a question about how much of the search problem you want to operate yourself. Algolia is a hosted API with <20 ms published response times, dashboards, and AI Personalization built in. Elasticsearch is a self-hostable engine with Learning to Rank, vector search, and total control over the relevance pipeline.
  • Algolia's public pricing in 2026 is roughly $0.50 per 1,000 search requests and $0.40 per 1,000 records per month on the Grow plan; Grow Plus bills additional requests at $1.75 per 1,000. The Build tier is free up to 10,000 monthly search requests and 1M records. AI Recommendations is metered separately at $0.60 per 1,000 requests.
  • Elasticsearch has no per-query fee, but you pay for nodes, storage, snapshots, the team that operates the cluster, and the data scientist who trains the Learning to Rank model. On Elastic Cloud, the typical production footprint for a personalized ecommerce catalog lands in the low thousands of dollars per month before LTR.
  • For personalization, Algolia gives you a turnkey AI Personalization layer that re-ranks results from user events; Elasticsearch gives you LTR (now native in 8.13+), vector search, and the freedom to inject any user-specific signal you want at query time. Algolia is faster to launch. Elasticsearch is cheaper to scale and lower-ceiling-only if you under-invest in it.
  • The honest decision: pick Algolia if your team is small, your catalog is under a few million SKUs, and you would rather buy time than control; pick Elasticsearch or OpenSearch if you have a search engineer, want LTR ownership, or run more than ~30M monthly searches where Algolia's metered pricing starts to bite.

Most "Algolia vs Elasticsearch" posts in 2026 are written by one of the two camps and read like sales collateral. Algolia's own comparison page leads with <20 ms response times and "1.7+ trillion searches annually" while Elasticsearch's marketing reads like a developer-platform pitch with petabyte-scale and SIEM bundled in. Neither tells you what the bill looks like at 50 million monthly searches with a catalog of 5 million SKUs and three personalization signals stacked on top.

This is the honest comparison for ecommerce. Real pricing where it is public, real trade-offs where it is not, and a decision tree at the end. By the time you finish, you should know which side of the hosted-vs-self-hosted line your team belongs on, what each platform gives you for personalization specifically, and where each one breaks.

What "personalized search" actually means at this layer

Personalized search is two problems pretending to be one. The first is the retrieval problem: given a query, find the candidate set of documents that could plausibly match — full-text, typo-tolerant, faceted, optionally vector-based. The second is the ranking problem: order that candidate set so that a user with a known profile sees the most relevant items first. Both Algolia and Elasticsearch can do both, but the seams between them are very different.

Algolia hides the seam. You upload records, configure a searchableAttributes list, point a UI library at the index, and the engine handles retrieval, typo tolerance, and ranking with a small set of tunable signals. Personalization is enabled with a flag, a user token, and an events stream — the engine learns affinity scores and re-ranks. Elasticsearch exposes the seam. You design the index mapping, write the query DSL, plug in synonyms, configure analyzers, and if you want personalization you build a Learning to Rank pipeline that scores documents using user features at query time.

For a deeper read on where ranking sits in the broader personalization stack, see our piece on the recommendation engine vs personalization layer distinction. The short version: search is a recommendation problem with a query in the input vector, and the same trade-offs apply.

Algolia — hosted, ergonomic, expensive at scale

Algolia is a hosted search API. You write to an index over HTTPS, you query it from the browser or a server with a search-only key, and the engine handles index distribution across a global cluster of around 70 data centers. Algolia's own comparison page claims sub-20-millisecond response times for most queries and 1.7+ trillion searches processed annually across 18,000+ customers.

The ergonomics are the product. There are six UI libraries — InstantSearch for React, Vue, Angular, Vanilla JS, iOS, and Android — that let a front-end engineer ship a working search-as-you-type experience in a few hours. The dashboard exposes ranking strategy as a draggable list of signals (typo, geo, words, filters, proximity, attribute, exact, custom), business rules as if-then visual editors, and A/B tests as point-and-click experiments. Non-engineers can change ranking. That is unusual in search.

For personalization, Algolia layers two products on top of the core index. AI Personalization ingests user events (clicks, conversions, custom events) and computes per-user affinity scores against facet values; at query time, the engine re-ranks results based on that affinity. NeuralSearch, available on the Elevate tier, combines keyword and vector retrieval through what Algolia calls neural hashing, and includes automated synonym suggestion and query categorization. Both are turnkey — you do not train a model, you do not write a re-ranker, you wire up the events stream and flip the flag.

What Algolia does not do: deep customization of the relevance pipeline. You cannot swap the analyzer chain, write a custom scoring function in a real programming language, or run aggregations the way you would on Elasticsearch. The ranking signals are the ones Algolia exposes. For most ecommerce catalogs that is enough; for a marketplace with five different facet-weighting strategies per category and a learned ranker trained on three years of clickstream, it is a real constraint.

Elasticsearch and OpenSearch — self-host, max control, ops cost

Elasticsearch (and its Apache-licensed fork, OpenSearch) is a distributed search engine built on Lucene with a JSON query DSL, an aggregations framework, vector search since 8.0, semantic search via the Inference API and ELSER, and Learning to Rank integrated natively as of version 8.13. Before 8.13, LTR was a community plugin from OpenSource Connections that powered most production personalized search at scale. AWS forked Elasticsearch into OpenSearch in 2021 and the two now evolve in parallel, with broadly similar feature sets and very different commercial models.

Self-hosting is the default. You run a cluster of nodes (typically three master, plus data nodes sized to your index), you operate the JVM, you tune the heap, you snapshot to S3, you upgrade across breaking changes, and you write the query DSL by hand. On Elastic Cloud or AWS OpenSearch Service, most of that is managed for you — for a price that is variable but materially lower per-query than Algolia at scale.

For personalization specifically, Elasticsearch is a Lego set. You can:

  • Use Learning to Rank with XGBoost or LightGBM models trained offline on your clickstream, then deploy the model to the cluster and re-rank the top N results from a baseline query.
  • Use dense vector search with HNSW indexes on user and item embeddings, then combine vector scores with BM25 scores in a single query.
  • Use runtime fields and scripted scoring to inject any user-specific signal (a precomputed affinity score, a session-state flag, a feature from your feature store) directly into the relevance equation.
  • Use rank_features fields to encode boost factors per category, brand, or merchandising rule.

The ceiling is wherever your data science and search engineering teams can take it. The floor is "you have to operate a search cluster." That floor is non-trivial.

For the ranking-side context, our deep dive on explainable recommendations and the path of a recommendation walks through how the candidate-generation and re-ranking seams compose; LTR on Elasticsearch is the same shape applied to a search query.

The real pricing comparison

Most Algolia vs Elasticsearch comparisons skip the bill, so this is where to spend a minute. Algolia's pricing is metered and partially public. The Algolia pricing page and Meilisearch's Algolia pricing breakdown together give the most-cited numbers:

  • Build — free, capped at 10,000 search requests per month and 1M records.
  • Grow — starts at $35/month, scales at $0.50 per 1,000 additional search requests and $0.40 per 1,000 additional records per month.
  • Grow Plus — bills additional search requests at $1.75 per 1,000.
  • Premium and Elevate — annual contracts, custom pricing, advanced AI features (NeuralSearch, Recommend), dedicated support.
  • Add-ons — AI Recommendations metered at $0.60 per 1,000 requests, Crawler at $0.80 per 1,000 requests.

For a working ecommerce store running 5M monthly search requests against a 1M-record catalog, the back-of-envelope Algolia bill on Grow is roughly $2,500 per month before any add-ons. Add AI Recommendations or NeuralSearch and the number moves materially. At 50M monthly searches and 5M records, you are in annual-contract territory, and the comparable footprint typically lands in the five-to-six-figure-per-year band depending on which AI features are turned on.

Elasticsearch's pricing has no per-query meter. On Elastic Cloud, a production-shaped cluster — three master nodes plus two or three data nodes sized to hold the index in RAM, plus a machine-learning node for inference if you use semantic or LTR features — typically lands in the low thousands of dollars per month, scaling with index size and query concurrency rather than query count. AWS OpenSearch Service prices similarly per-node. Self-hosting on your own Kubernetes drops the marginal infrastructure cost but adds the engineer-hours to operate it. For comparable LTR functionality you also pay for an offline training pipeline, a clickstream warehouse, and the data scientist who tunes the model.

The crossover point is workload-dependent. For low-volume search (under ~5M monthly requests, single-million catalog), Algolia is typically cheaper all-in once you account for the team time saved. Above ~30M monthly requests with personalization features enabled, Elasticsearch on a self-managed or modestly managed footprint becomes the cheaper option in TCO terms — provided you have or can hire the search engineer who can operate it.

Personalization features, head to head

Both platforms can personalize. They do it very differently.

Algolia AI Personalization is a managed re-ranker. You define personalization strategies (which facets to track, which event types count as positive signals), you stream events into Algolia with a userToken, and the engine maintains per-user affinity profiles that boost or demote results at query time. The model is trained and operated by Algolia. You see the dashboard view of which facet values each user prefers. You do not see the model, you cannot retrain it, and you cannot inject features Algolia does not capture.

Elasticsearch personalization is a re-ranker you build. The canonical pattern, documented in Elastic's own LTR write-up, is:

  1. Run a baseline query (BM25 plus filters) to get the top N candidates.
  2. Compute feature values for each candidate — query-document features, user-document features, document-only features.
  3. Pass the feature matrix to an XGBoost or LightGBM model deployed to the cluster.
  4. Re-rank by model score.

The features you can inject are limited only by what you can compute. User embeddings, knowledge-graph affinities, real-time session state, segment membership, recency-decayed click counts — all of it fits as a feature. The trade-off is the engineering surface: you operate the cluster, you train the model, you wire up the feature store, and you ship the re-rank latency budget yourself.

For the graph-versus-vector representation question that sits underneath both, see our piece on knowledge graphs vs vector embeddings for personalization. Whichever shape your user state takes, both Algolia and Elasticsearch can consume it, but only Elasticsearch lets you bring it as a feature directly.

When each wins for ecommerce

The honest Algolia vs Elasticsearch decision is workload-shaped, not ideology-shaped. Run this in order and stop at the first match.

  1. You have under ~5M monthly search requests, a catalog under 1M SKUs, no dedicated search engineer, and need to ship search this quarter. Use Algolia. The hours saved on UI, dashboard, and AI Personalization wiring are worth far more than the metered cost at that scale.
  2. You run a regulated ecommerce vertical (pharma, alcohol, age-restricted) where index data residency matters and a third-party hosted search is a compliance problem. Use Elasticsearch or OpenSearch self-hosted in your own VPC. Algolia's data residency options exist but the easier compliance story is "we own the cluster."
  3. You run more than ~30M monthly searches and personalization is a core revenue driver. Run the math. At that scale, Algolia's metered model typically costs more than an Elastic Cloud or OpenSearch footprint plus a search engineer, and you almost certainly want the LTR control anyway.
  4. You have an existing data warehouse, a feature store, and a recommendations team that ships its own models. Use Elasticsearch. LTR with your own features is a natural extension of the recommendations stack; bolting Algolia's managed personalization on top duplicates that work.
  5. You have a small team and want one vendor to call when search breaks. Use Algolia. The operational simplicity is the product.

The numbers worth remembering: Algolia's free tier caps at 10,000 monthly requests and 1M records, Grow scales at $0.50 per 1,000 requests and $0.40 per 1,000 records, and Elasticsearch's native LTR shipped in 8.13. Anything else is workload-shaped.

For the broader question of where search fits in the personalization stack, see the marketing engineer's personalization stack and five patterns for adding personalization.

How ×marble fits in

We built ×marble for ecommerce teams that would rather not pick a side in the Algolia vs Elasticsearch debate. Our personalization layer sits next to your search index — Algolia, Elasticsearch, OpenSearch, Typesense, Meilisearch, anything — and provides the ranking signals that turn a generic candidate set into a personalized result list. Send events, ask for a user's top items per category, and we return ranked candidates with explanations attached. The graph runs on our side. The search index stays yours. For teams already on Algolia who have hit the personalization ceiling, ×marble adds the features the managed re-ranker does not surface. For teams on Elasticsearch who do not want to train an LTR model in-house, ×marble is the ranking model as a service. Our sub-products Vivo, Video, and Music share the same engine.

FAQ

Is Algolia better than Elasticsearch for ecommerce?

Algolia is better than Elasticsearch for small-to-medium ecommerce teams that want to ship personalized search this quarter and would rather not operate a search cluster. Elasticsearch is better for ecommerce teams with a dedicated search engineer, more than ~30M monthly searches, or a need to own the learning-to-rank pipeline. Neither is universally better — the right answer depends on team size, search volume, and how much control you want over the ranking model.

How much does Algolia cost for ecommerce search in 2026?

Algolia's Grow plan starts at $35 per month and scales at $0.50 per 1,000 additional search requests and $0.40 per 1,000 additional records per month. For a typical ecommerce site running 5M monthly searches against a 1M-record catalog, the back-of-envelope Algolia bill is roughly $2,500 per month on Grow before any add-ons. AI Recommendations adds $0.60 per 1,000 requests. Premium and Elevate tiers are custom-priced annual contracts.

Does Elasticsearch support personalization out of the box?

Elasticsearch supports personalization through Learning to Rank, which became natively integrated in Elasticsearch 8.13 and was previously available as a community plugin. LTR lets you re-rank baseline search results using a model (typically XGBoost) trained on your clickstream, with user-specific features injected at query time. Elasticsearch also supports dense vector search for embedding-based retrieval, but the personalization layer is something you build, not something you flip a flag on.

Should I use Algolia or OpenSearch for personalized search?

OpenSearch is the Apache-licensed fork of Elasticsearch maintained by AWS and partners, and the comparison to Algolia is structurally the same: hosted ergonomic API versus self-hostable engine with more control. Pick OpenSearch if you run on AWS, value the open-source license, and have engineering capacity to operate the cluster or pay for AWS OpenSearch Service. Pick Algolia if launch speed and operational simplicity outweigh per-query cost at your scale.

When does Algolia get too expensive?

Algolia's metered pricing typically becomes more expensive than a comparable Elasticsearch or OpenSearch footprint somewhere above ~30M monthly search requests with AI Personalization or Recommendations enabled, depending on catalog size and feature mix. Below that threshold, the team time Algolia saves is usually worth more than the metered cost. Above it, the math flips, and most teams that have a search engineer move to Elasticsearch or OpenSearch.

Further reading

the product behind these notes

×marble is the personalization graph.

One API. A living knowledge graph per user. Day-zero ready, explainable by construction. We built it so you don't have to.

See ×marble