Simor
Vector search for e-commerce: Typesense vs Meilisearch vs Elasticsearch kNN

Vector search for e-commerce: Typesense vs Meilisearch vs Elasticsearch kNN

Simor Consulting | 24 Sep, 2026 | 05 Mins read

E-commerce search has a problem that keyword matching cannot solve. A user searches for “light summer dress for beach wedding” and the system returns results matching those exact words. The product catalogue has a “chiffon midi in ivory” that is exactly what the user wants, but it never appears because the words do not match.

Vector search fixes this by matching on meaning rather than keywords. The user’s query and the product descriptions are both converted to embeddings, and the search engine finds products whose embeddings are closest to the query embedding. The “chiffon midi in ivory” shows up because its embedding is semantically close to “light summer dress for beach wedding.”

Three search engines have emerged as serious options for vector and hybrid search in e-commerce: Typesense, Meilisearch, and Elasticsearch with its kNN vector search capabilities. Each takes a different architectural approach, and the right choice depends on your catalogue size, query volume, and how much you value semantic search over traditional keyword matching.

The architectural split

Typesense and Meilisearch are purpose-built search engines. They are designed from the ground up for fast, relevant search with minimal operational overhead. Both started as keyword search engines and added vector search capabilities in their recent releases. They share a philosophy: search should be fast, simple to deploy, and require minimal configuration.

Elasticsearch is a general-purpose distributed search and analytics engine that bolted vector search onto its existing inverted-index architecture. Elasticsearch kNN uses the HNSW (Hierarchical Navigable Small World) algorithm for approximate nearest neighbour search, integrated alongside its traditional BM25 keyword scoring. The integration is real but the architecture was not designed for vector search as a primary use case.

This architectural difference matters. Typesense and Meilisearch treat vector search as a first-class feature with a query engine designed around it. Elasticsearch treats vector search as one capability among many, which means it offers more features but carries the complexity of a system designed for log analytics, full-text search, and operational monitoring.

Catalogue size and scaling

For small to medium catalogues (under 1 million products), Typesense and Meilisearch are the clear winners on operational simplicity. Both can handle this scale on a single node with sub-50ms query latency. You deploy a binary or a Docker container, index your products, and you have search running. No cluster configuration, no shard management, no capacity planning.

At 1 to 10 million products, the picture changes. Typesense supports clustering with automatic sharding and replication, but its cluster management is less mature than Elasticsearch’s. Meilisearch added horizontal scaling through its sharding feature but it is still early. Both can handle this range with careful configuration, but you are approaching the limits of their simple operational model.

Above 10 million products, Elasticsearch’s distributed architecture becomes necessary. Elasticsearch was designed for this scale from the start. It handles shard allocation, rebalancing, and replication automatically. The operational cost is real (Elasticsearch clusters require monitoring, tuning, and a team that understands JVM garbage collection and index lifecycle management) but it handles large catalogues without architectural strain.

Hybrid search: the real differentiator

The most important feature for e-commerce search is hybrid search: combining keyword matching (for exact matches like brand names, SKUs, and model numbers) with vector search (for semantic matching on product descriptions and user queries). Pure vector search misses exact matches. Pure keyword search misses semantic matches. Hybrid search combines both.

Typesense supports hybrid search through a built-in combination of its keyword engine and its vector search engine. You configure a weight between keyword relevance and vector relevance, and Typesense merges the results. The tuning is straightforward: adjust the weight, test with real queries, iterate. The default weights work reasonably well for most e-commerce catalogues.

Meilisearch added hybrid search with its AI search features. It supports vector search alongside its existing keyword search, with configurable ranking rules that let you blend semantic and keyword scores. Meilisearch’s ranking rule system is more expressive than Typesense’s single weight parameter, but it requires more configuration to get right.

Elasticsearch’s hybrid search is the most powerful and the most complex. You can combine BM25 scoring with kNN vector scoring using Elasticsearch’s query DSL, applying custom scoring functions, boosts, and filters. The flexibility is unmatched: you can boost exact brand matches, penalise out-of-stock items, boost products on sale, and blend all of this with semantic similarity in a single query. The cost is query complexity. A well-tuned Elasticsearch hybrid query can be 50-100 lines of JSON.

This diagram requires JavaScript.

Enable JavaScript in your browser to use this feature.

Faceting and filtering

E-commerce search is not just about relevance. It is about faceting and filtering. Users need to filter by price range, size, colour, brand, availability, and rating. These filters must combine with search results at query time without degrading latency.

All three engines support faceting and filtering, but the implementations differ. Typesense and Meilisearch handle faceting as a built-in feature with fast computation of facet counts. Filtering on structured fields (price, brand, category) is fast and composable with search queries.

Elasticsearch’s faceting is more powerful. It supports nested faceting, date histograms, range aggregations, and custom aggregation pipelines. For complex e-commerce requirements (facets that depend on other facets, dynamic price range buckets, availability filtering by warehouse location), Elasticsearch is the only option that handles the full complexity natively.

The trade-off is that Elasticsearch’s aggregation power comes with query latency overhead. A search query with five faceted filters and a vector similarity component can take 100-200ms on Elasticsearch versus 20-50ms on Typesense or Meilisearch for the same catalogue size.

Operational overhead

Typesense: deploy a binary, configure memory allocation, index your data. Monitoring is basic but sufficient for most deployments. Upgrades are straightforward. You can run a production Typesense instance with part-time DevOps attention.

Meilisearch: similar operational simplicity to Typesense. Meilisearch Cloud adds a managed option that removes even the deployment step. The self-hosted version is a single binary with minimal configuration.

Elasticsearch: requires a dedicated operations function. Cluster health monitoring, index lifecycle management, JVM tuning, shard allocation, rolling upgrades, Elasticsearch demands attention. Teams that underestimate this operational cost end up with slow queries, unstable clusters, and on-call pages at 2 AM.

Decision framework

Use Typesense when your catalogue is under 5 million products, you want fast hybrid search with minimal configuration, and you do not need complex aggregations or nested faceting. It is the best balance of simplicity and capability for most e-commerce search use cases.

Use Meilisearch when you want the simplest possible deployment, when your catalogue is under 1 million products, and when you want strong typo tolerance alongside semantic search. Its developer experience is the best of the three.

Use Elasticsearch when your catalogue exceeds 10 million products, when you need complex faceting and aggregation pipelines, when you already run Elasticsearch for other purposes, or when your search requirements include business rules that go beyond relevance scoring (inventory-aware ranking, geo-distributed results, real-time personalisation).

Do not choose Elasticsearch for operational simplicity. Choose it for capability at scale. If you do not need what Elasticsearch offers, the operational tax is not worth paying.

Shipping a production AI system?

Find where your AI spend leaks and where quality slips. Take the AI Production Scorecard for a fast baseline across the seven layers, or book a free AI cost review and we will turn it into a plan.

Similar Articles

AI Agent Platforms Compared: CrewAI, AutoGen, and LangGraph for Mid-Market Operations
AI Agent Platforms Compared: CrewAI, AutoGen, and LangGraph for Mid-Market Operations
10 Jul, 2026 | 10 Mins read

You have signed off on an AI initiative. Your team has a real workflow in mind. Say, triaging inbound operations tickets, drafting first-pass vendor reviews, or reconciling exception cases across thre

Practical LLM Evaluation Metrics Beyond Vibes: Building a Repeatable Scoring Pipeline
Practical LLM Evaluation Metrics Beyond Vibes: Building a Repeatable Scoring Pipeline
10 Jul, 2026 | 11 Mins read

The demo looked great. The model summarised the document cleanly, answered the test question correctly, and produced prose that read well enough to ship. Two weeks later it is in production, and the c

dbt vs SQLMesh: which transformation tool wins in 2026?
dbt vs SQLMesh: which transformation tool wins in 2026?
23 Apr, 2026 | 06 Mins read

Every analytics team eventually faces the same choice: how do you transform raw data into something analysts can actually use? For years, dbt was the only serious answer. SQLMesh arrived with a differ

Orchestration face-off: Airflow vs Prefect vs Dagster
Orchestration face-off: Airflow vs Prefect vs Dagster
07 May, 2026 | 06 Mins read

The orchestration market has a clear incumbent and two serious challengers. Apache Airflow has been the default choice since 2015. Prefect and Dagster both emerged to address Airflow's pain points, bu

Vector database showdown: Pinecone, Weaviate, Qdrant, Milvus
Vector database showdown: Pinecone, Weaviate, Qdrant, Milvus
06 May, 2026 | 05 Mins read

Every team building retrieval-augmented generation or semantic search eventually needs a vector database. The market has consolidated around four serious options: Pinecone, Weaviate, Qdrant, and Milvu

LLM evaluation platforms compared: LangSmith, Braintrust, Patronus
LLM evaluation platforms compared: LangSmith, Braintrust, Patronus
14 May, 2026 | 06 Mins read

Building an LLM application is the easy part. Knowing whether it works (whether it still works after you change a prompt, swap a model, or add a tool) is the hard part. LLM evaluation platforms exist

Feature store comparison: Feast, Tecton, Hopsworks
Feature store comparison: Feast, Tecton, Hopsworks
20 May, 2026 | 05 Mins read

Feature stores solve a specific problem: the features you use to train a model must be the same features you use to serve it. When the training pipeline computes features differently than the serving

Real-time streaming: Kafka vs Redpanda vs Pulsar
Real-time streaming: Kafka vs Redpanda vs Pulsar
21 May, 2026 | 05 Mins read

Kafka has dominated event streaming for a decade. It processes trillions of messages daily across thousands of companies. Its dominance created an ecosystem so large that "streaming" became synonymous

The observability stack: Datadog vs Grafana vs Monte Carlo
The observability stack: Datadog vs Grafana vs Monte Carlo
28 May, 2026 | 07 Mins read

Observability is not one problem. It is three. Infrastructure observability watches your servers, containers, and network. Application observability watches your code, APIs, and user-facing behaviour.

RAG frameworks head-to-head: LlamaIndex vs Haystack vs Semantic Kernel
RAG frameworks head-to-head: LlamaIndex vs Haystack vs Semantic Kernel
04 Jun, 2026 | 05 Mins read

Retrieval-augmented generation is simple in theory: retrieve relevant documents, stuff them into a prompt, get a grounded answer. In practice, the retrieval step is where most RAG applications fail. T

Data cataloguing tools: Atlan, Alation, DataHub, Amundsen
Data cataloguing tools: Atlan, Alation, DataHub, Amundsen
11 Jun, 2026 | 05 Mins read

A data catalogue solves a trust problem. When an analyst cannot find the right table, does not know what a column means, or cannot tell whether data is fresh, they either guess or ask someone. Both ou

Model serving: vLLM, TGI, Triton: which fits your stack?
Model serving: vLLM, TGI, Triton: which fits your stack?
18 Jun, 2026 | 05 Mins read

Serving a language model in production is an infrastructure problem, not a model problem. The model weights are the same regardless of how you serve them. What differs is throughput (how many requests

CI/CD for ML: MLflow vs Weights & Biases vs Neptune
CI/CD for ML: MLflow vs Weights & Biases vs Neptune
25 Jun, 2026 | 05 Mins read

Machine learning teams face a version control problem that Git does not solve. Git tracks code changes, but ML experiments change more than code. They change hyperparameters, datasets, model architect

Graph databases for AI: Neo4j vs Amazon Neptune vs ArangoDB
Graph databases for AI: Neo4j vs Amazon Neptune vs ArangoDB
02 Jul, 2026 | 05 Mins read

Graph databases went from niche to essential as AI applications discovered that relationships matter. RAG applications that only search by vector similarity miss the connections between entities. Reco

Synthetic data tools: Gretel, Mostly AI, Tonic
Synthetic data tools: Gretel, Mostly AI, Tonic
09 Jul, 2026 | 05 Mins read

Real data is expensive, restricted, and often unusable. Privacy regulations block access to customer records. Data sharing agreements prevent using production data in development environments. Class i

Data quality platforms: Great Expectations vs Soda vs Monte Carlo
Data quality platforms: Great Expectations vs Soda vs Monte Carlo
15 Jul, 2026 | 06 Mins read

Data quality failures are expensive and silent. A broken pipeline does not crash. It produces wrong data that flows into dashboards, models, and decisions. The error is discovered weeks later when a b

The modern data stack is dead: here's what replaced it
The modern data stack is dead: here's what replaced it
23 Jul, 2026 | 05 Mins read

The modern data stack was a marketing category that outlived its usefulness. Between 2019 and 2023, it described a specific architecture: Fivetran or Airbyte for ingestion, dbt for transformation, Sno

Prompt management tools: PromptLayer, Humanloop, Promptfoo
Prompt management tools: PromptLayer, Humanloop, Promptfoo
22 Jul, 2026 | 05 Mins read

Prompts are code. They have versions, they break when changed carelessly, and they need testing. Yet most teams manage prompts as string literals in source files or as unversioned entries in a databas

Schema registry showdown: Confluent vs Apicurio vs AWS Glue
Schema registry showdown: Confluent vs Apicurio vs AWS Glue
30 Jul, 2026 | 05 Mins read

When producers and consumers share a Kafka topic without agreeing on the data format, things break in production. A producer adds a field. A consumer expects the old schema. The deserialisation fails,

Privacy-preserving computation: differential privacy tools compared
Privacy-preserving computation: differential privacy tools compared
06 Aug, 2026 | 06 Mins read

Publishing aggregate statistics about a dataset sounds safe. The average salary in a department. The number of users in a geographic region. The distribution of query types in a search engine. But agg

MCP server ecosystem: what's production-ready in 2026?
MCP server ecosystem: what's production-ready in 2026?
13 Aug, 2026 | 05 Mins read

The Model Context Protocol (MCP) was released in late 2024 as a standardised way for AI models to interact with external tools and data sources. By mid-2026, the server ecosystem has grown to hundreds

Agent frameworks compared: LangGraph vs CrewAI vs AutoGen
Agent frameworks compared: LangGraph vs CrewAI vs AutoGen
20 Aug, 2026 | 06 Mins read

Single-agent applications (one LLM, one set of tools, one task) are straightforward to build and debug. The agent receives input, calls tools, produces output. When multi-step reasoning or collaborati

Embedding models compared: OpenAI, Cohere, Voyage, and open-source options
Embedding models compared: OpenAI, Cohere, Voyage, and open-source options
27 Aug, 2026 | 04 Mins read

Choosing an embedding model is one of the first decisions you make when building a retrieval-augmented generation system, and it is one of the hardest to reverse. The model you pick determines your ve

Data pipeline monitoring: Elementary vs Databand vs Lightup
Data pipeline monitoring: Elementary vs Databand vs Lightup
03 Sep, 2026 | 05 Mins read

A data pipeline fails silently. The DAG completes without errors, the tables are populated, but the numbers are wrong. A column that was never null now has 30% nulls. A join that produced 10,000 rows

Text-to-SQL tools in 2026: which ones actually work?
Text-to-SQL tools in 2026: which ones actually work?
10 Sep, 2026 | 05 Mins read

Text-to-SQL has been promised for a decade. Every year, a new tool claims to convert natural language to production-ready SQL. Every year, the demos look impressive and the production deployments disa

Document intelligence platforms: AWS Textract vs Azure AI Doc Intelligence vs Google DocAI
Document intelligence platforms: AWS Textract vs Azure AI Doc Intelligence vs Google DocAI
17 Sep, 2026 | 05 Mins read

Every enterprise processes documents. Invoices, contracts, forms, receipts, medical records, insurance claims. The volume is measured in millions of pages per month for large organisations. The questi

Low-code AI platforms: worth it for data teams?
Low-code AI platforms: worth it for data teams?
30 Sep, 2026 | 05 Mins read

Low-code AI platforms promise to put machine learning in the hands of people who cannot write Python. The pitch is compelling: connect your data, configure a pipeline with drag-and-drop components, de

Data lineage tools: Manta, Solidatus, Alation: who shows the full picture?
Data lineage tools: Manta, Solidatus, Alation: who shows the full picture?
07 Oct, 2026 | 05 Mins read

When a dashboard shows revenue at $12 million and the finance team says it should be $11.4 million, the investigation starts the same way every time: trace the data backward from the dashboard to the

Container orchestration for ML: K8s vs ECS vs Fly.io
Container orchestration for ML: K8s vs ECS vs Fly.io
08 Oct, 2026 | 05 Mins read

Running a model in a Jupyter notebook is trivial. Running a model that serves 500 predictions per second with 99.9% uptime, auto-scales with traffic, recovers from node failures, and costs less than $

LLM gateway comparison: LiteLLM, Portkey, Martian
LLM gateway comparison: LiteLLM, Portkey, Martian
29 Jun, 2026 | 07 Mins read

A production AI application calls multiple LLM providers. The primary model is GPT-4o for complex reasoning, but simple classification tasks use Claude Haiku for cost savings, and the fallback for rat

Vector Databases: The Missing Piece in Your AI Infrastructure
Vector Databases: The Missing Piece in Your AI Infrastructure
12 Jan, 2024 | 02 Mins read

Vector databases index and query high-dimensional vector embeddings. Unlike traditional databases that excel at exact matches, vector databases enable similarity search: finding items conceptually clo

Automated Data Quality Gates with Great Expectations & Soda
Automated Data Quality Gates with Great Expectations & Soda
28 Apr, 2025 | 07 Mins read

Organisations often treat data quality as secondary: something to address after building pipelines and training models. This perspective misunderstands modern data systems. In a world where ML models