Skip to main content

When to Choose Apache Solr, Elasticsearch, or Viglet Turing ES

· 4 min read
Alexandre Oliveira
Creator & Lead Developer, Viglet Turing ES

"Should we use Solr or Elasticsearch?" is one of the most common engineering questions when a search project starts. It's also slightly the wrong question. Solr and Elasticsearch are search engines — they index and rank documents. What most teams actually need is an enterprise search platform: connectors, facets, multi-language, semantic search, RAG, and an admin UI on top of that engine.

That's the distinction this post draws — and where Viglet Turing ES fits, because it's not a competitor to Solr/Elasticsearch. It runs on them.

Two different layers

Turing ES is the platform layer, and its engine backend is pluggable: you can run it on Apache Solr, Elasticsearch, or an embedded Lucene engine — and switch without rewriting your application.

Solr vs. Elasticsearch (the engine choice)

Apache SolrElasticsearch
OriginLucene-based, Apache projectLucene-based, Elastic
Sweet spotText search, faceting, stable schemaLogs/observability, dynamic data, analytics
FacetingMature, first-classAggregations
LicensingApache 2.0SSPL / Elastic License (OSS fork: OpenSearch)
Ops modelZooKeeper (SolrCloud)Cluster built-in

Short version: for content/site search with heavy faceting, Solr is a natural fit and fully Apache-licensed. For log analytics and dynamic schemas, Elasticsearch's ecosystem leads. Both are excellent engines — and both leave the platform work (connectors, relevance UI, semantic, RAG) to you.

When raw Solr/Elasticsearch is the right call

  • You have a search engineering team and want maximum low-level control.
  • Your needs are narrow and well-defined (one index, one app).
  • You're prepared to build the ingestion pipeline, faceting UI, multi-language handling, and any AI layer yourself.

When you want the platform layer (Turing ES)

Turing ES adds, on top of the engine you choose:

  • ConnectorsAdobe AEM, WordPress, databases, file systems, web crawl — with event-driven sync and tag → facet mapping.
  • Semantic + vector search and RAG with your LLM (guide), instead of building an AI tier separately.
  • Multi-language, faceting, autocomplete, spotlights, targeting out of the box via Semantic Navigation.
  • AI agents with 27 tools and MCP support.
  • An admin console, SDKs (Java, JS/TS), and a REST/GraphQL API.

All open source under Apache 2.0, self-hosted — and engine-agnostic, so the Solr-vs-Elasticsearch decision stops being a lock-in.

How to decide

  1. Do you need a platform or just an engine? If you'll build connectors, facets, and an AI layer yourself, pick an engine. If you want those provided, pick a platform.
  2. If platform → Turing ES, then choose the engine underneath by workload: Solr for content/faceted search, Elasticsearch/OpenSearch if you're standardizing on that ecosystem, Lucene for a zero-dependency embedded setup.
  3. Licensing matters — Solr and Turing ES are Apache 2.0 end to end.

Try it

docker pull ghcr.io/openviglet/turing-ce:latest
docker run -p 2700:2700 ghcr.io/openviglet/turing-ce:latest

Viglet Turing ES is an open-source enterprise search platform that runs on Apache Solr, Elasticsearch, or Lucene — adding connectors, faceted and semantic search, and RAG on top of the engine you choose.