Elasticsearch Is Built for Log Analytics, Not Site Search

Elasticsearch is one of the most powerful search and analytics engines ever built. It handles billions of documents across distributed clusters for companies like Netflix and Uber. But if you need search for your website or application, you do not need a JVM, a cluster, or a DevOps team. Sprigr runs search entirely in the browser with zero infrastructure.

Start Free — No Credit Card

Sprigr vs Elasticsearch for site search

How a purpose-built site search engine compares to an enterprise analytics platform.

Sprigr Elasticsearch
Built for Website & app search Log analytics & full-text search at scale
Architecture Client-side (runs in browser) Distributed cluster (JVM-based)
Search latency <10ms (local computation) 10–500ms (network + cluster processing)
Infrastructure required None Servers, JVM, cluster management
Ops burden Zero ops (single script tag) Shards, replicas, heap tuning, upgrades
Pricing Free tier + flat fee from $49/mo Self-hosted (free) or Elastic Cloud (~$95+/mo)
Per-query costs Zero Compute costs per query
Data privacy Queries never leave browser Queries processed on server
Offline support Yes No
Setup time Minutes (one script tag) Hours to days (cluster provisioning)
Hybrid semantic search Yes (keyword + vector RRF) Yes (kNN + BM25)
Index size limit ~50K records (client-side) Billions of records
License Proprietary SaaS Elastic License 2.0 / SSPL (not OSI-approved)

Why Elasticsearch is overkill for site search

Elasticsearch was created at a time when organizations needed to search and analyze massive volumes of unstructured data: server logs, application metrics, security events, and clickstream data. It solves that problem exceptionally well. The Elastic Stack (Elasticsearch, Kibana, Logstash, Beats) is the backbone of observability infrastructure at thousands of companies.

But running Elasticsearch for website search introduces a level of complexity that is disproportionate to the problem. Here is what operating Elasticsearch actually involves:

  • JVM heap tuning. Elasticsearch runs on the JVM. You need to configure heap size (typically 50% of available RAM, capped at 32GB), monitor garbage collection pauses, and tune JVM flags to avoid out-of-memory kills. For a site search index with a few thousand pages, this is unnecessary overhead.
  • Shard and replica management. Data in Elasticsearch is split into shards distributed across nodes. You need to decide how many primary shards to create (this cannot be changed after index creation without reindexing), how many replicas to maintain, and how to handle shard allocation when nodes go down.
  • Cluster scaling. As your data or query volume grows, you add nodes to the cluster. This means provisioning new servers, configuring discovery settings, waiting for shard rebalancing, and monitoring cluster health (green, yellow, red). A single-node cluster is a single point of failure.
  • Rolling upgrades. Upgrading Elasticsearch requires taking nodes offline one at a time, waiting for shard reallocation, upgrading the software, and bringing nodes back. Major version upgrades often require reindexing all data. Skipping versions is not supported.
  • Security configuration. Elasticsearch does not enable security by default in all configurations. You need to configure TLS, set up user authentication, manage role-based access, and ensure your cluster is not exposed to the public internet (a common source of data breaches).
  • Monitoring and alerting. A healthy Elasticsearch deployment requires monitoring cluster state, node disk usage, JVM memory pressure, search and indexing latency, thread pool rejections, and circuit breaker trips. This typically means running Kibana or a third-party monitoring stack alongside Elasticsearch itself.

None of this is necessary if you just need users to search your documentation, product catalog, or blog. That is the problem Sprigr solves: purpose-built site search with zero infrastructure.

What Sprigr does instead

A site search engine built for the actual problem, not the distributed systems problem.

Zero infrastructure

No JVM. No cluster. No servers at all. Sprigr compiles your search index into a WebAssembly module that loads directly in the browser. You add a single script tag to your site, and search runs locally on the user's device. There is nothing to provision, patch, or monitor.

Sub-10ms latency without a network

Elasticsearch latency depends on cluster load, network distance, and query complexity. Sprigr's search runs as local computation in the browser. Every query returns in under 10 milliseconds, regardless of the user's network conditions, geographic location, or whether they are offline.

Flat pricing with no surprises

Elasticsearch is free to run yourself, but the real cost is infrastructure and engineering time. Elastic Cloud starts around $95 per month for a minimal deployment and scales quickly. Sprigr has a permanent free tier for 1,000 objects and paid plans starting at $49 per month with zero per-query charges.

Privacy by architecture

With Elasticsearch, every search query is sent to your server and processed on your infrastructure (or Elastic's cloud). With Sprigr, search queries never leave the user's browser. No server-side logging, no third-party data processing, no cross-border data transfers. GDPR compliance is built into the architecture.

Migrating from Elasticsearch to Sprigr

If you are currently using Elasticsearch for site search, migrating to Sprigr simplifies your stack considerably. The process involves exporting your documents from Elasticsearch and pushing them to the Sprigr REST API.

Elasticsearch stores documents as JSON objects, and Sprigr indexes JSON objects with the same structure. Export your documents from Elasticsearch (using the Scroll API or a simple query), map them to Sprigr's record format (each record needs an objectID and your searchable attributes), and push them via the Sprigr REST API. The API is Algolia-compatible, so if you have experience with Algolia's record format, the structure will be familiar.

On the frontend, you replace your Elasticsearch query logic (whether you were using the JavaScript client, a REST proxy, or a custom backend) with Sprigr's single script tag. The search module loads your index and handles queries locally in the browser. You can remove your Elasticsearch cluster, your search proxy server, and any associated monitoring infrastructure.

For teams that built custom relevance tuning in Elasticsearch (boosting, function scores, decay functions), Sprigr provides searchable attribute priority ordering, custom ranking attributes, and hybrid semantic search with reciprocal rank fusion. The tuning model is simpler but covers the common site search scenarios without writing complex query DSL.

What switching actually saves you

Elasticsearch

$95+/mo managed

Elastic Cloud starts at $95/mo. Self-hosted requires DevOps, monitoring, and cluster management.

Sprigr

$49/mo flat

No clusters. No DevOps. Client-side search with zero infrastructure. Free tier: 1K objects.

Frequently asked questions

Is Elasticsearch free?

Elasticsearch was originally Apache 2.0 licensed, but since 2021 it uses the Elastic License 2.0 and SSPL, which are not considered true open-source licenses by the Open Source Initiative. You can download and run it at no software cost, but you are responsible for all infrastructure: servers, storage, memory, networking, monitoring, backups, and ongoing maintenance. Elastic Cloud, the managed hosting option, starts at roughly $95 per month for a minimal production deployment and scales significantly with usage.

Why is Elasticsearch overkill for site search?

Elasticsearch was designed for distributed log analytics, observability pipelines, and searching billions of documents across clusters of machines. Running it for website search with a few thousand pages means provisioning JVM heap memory, configuring shards and replicas, managing cluster health, and handling rolling upgrades. The operational complexity does not match the problem. A site search with 5,000 pages does not need a distributed system.

How does Elastic Cloud pricing compare to Sprigr?

Elastic Cloud pricing is resource-based: you pay for the compute, memory, and storage your cluster consumes. A minimal production deployment with a single availability zone starts around $95 per month and scales into hundreds or thousands per month as you add nodes, RAM, storage, or machine learning features. Sprigr uses flat-fee pricing with no per-query charges. The free tier covers 1,000 objects forever, and paid plans start at $49 per month with zero infrastructure costs to manage.

Can Sprigr handle large datasets like Elasticsearch?

No, and it is not designed to. Elasticsearch handles billions of documents across distributed clusters. Sprigr's client-side search approach works best for indexes up to approximately 50,000 records. If your dataset has millions of records or requires complex aggregations across terabytes of data, Elasticsearch is the right tool. Sprigr is purpose-built for website and application search where the dataset is manageable and the priorities are simplicity, speed, and zero operational overhead.

What about OpenSearch as an alternative?

OpenSearch is the AWS-maintained fork of Elasticsearch, created after Elastic changed its license in 2021. It is Apache 2.0 licensed and genuinely open source. However, it shares the same fundamental architecture and operational complexity: JVM tuning, cluster management, shard allocation, rolling upgrades, and monitoring. If your concern with Elasticsearch is licensing, OpenSearch is a solid alternative. If your concern is operational overhead for a simple site search use case, neither Elasticsearch nor OpenSearch reduces that burden. Sprigr eliminates the infrastructure entirely by running search in the browser.

Site search without the infrastructure

Free forever. No credit card required. No servers, no clusters, no JVM.

Start Free — No Credit Card