Back to overview

Migrate to Turing

Switching from Algolia or Elasticsearch is one command

Keep the faceted, typo-tolerant search your team relies on — add RAG, cited chat and agents — and bring it all home to your own infrastructure. No rewrite, no lock-in, no per-record bill.

Point it at your live index

turing migrate reads your Elasticsearch mappings or Algolia settings, turns them into a Turing schema, and streams the records across — in a single step. And it's cautious by design:

  • Preview before you commit

    --dry-run shows the schema Turing derived — nothing is written until you're happy with it.

  • Prove parity, then cut over

    compare replays your real queries against both engines and reports the relevance difference.

  • Reshape fields on the way in

    --overrides-file renames, retypes or drops any field — no changes to your source index.

Schema and records move together
# Elasticsearch: mappings → schema, docs imported
turing migrate elasticsearch \
  --index products --site Products

# Algolia: --use-llm infers types for schemaless data
turing migrate algolia \
  --index catalog --site Catalog --use-llm

Everything you rely on carries over

The concepts map almost one-to-one. Where a hosted feature is paid, beta or vendor-locked, Turing ships the equivalent in the box — on the search engine you already operate.

ConceptAlgoliaElasticsearchViglet Turing ES
Where documents liveIndexIndexSemantic Navigation (SN) site
A single recordRecord (JSON object)Document (_source)Document — indexed via REST or a connector
Schema & field configIndex settings (searchableAttributes…)MappingsField manifest as code — POST /api/sn/manifest
FacetingattributesForFacetingAggregationsNative facet fields, no extra query DSL
Typo tolerancetypoToleranceFuzzy queriesTypo-tolerant + spell-check in the box
SynonymsSynonyms APISynonym token filterEngine synonyms (Solr / Elasticsearch)
Semantic / vector searchNeuralSearch (paid add-on)kNN over dense_vectorEmbedded Lucene KNN or your engine's vectors, fused via hybrid RRF
Relevance tuningCustom ranking + tie-breakingBM25 + function_scoreBM25 + opt-in hybrid RRF (keyword + vector)
AI answers over your contentAsk AI (hosted beta)ELSER + your own LLM glueRAG, cited chat & agents built in
Front-end UIInstantSearch.js / ReactBuild it (elasticsearch-js)React SDK + zero-dep vanilla-JS SDK (headless)
Query APIHosted search API_search DSLPOST /api/sn/{site}/search — on your host
Hosting & data residencyFully hosted SaaSElastic Cloud or self-managedSelf-hosted — content & embeddings never leave your infra

High-level mapping as of 2026 — verify current vendor capabilities.

And you come out ahead

The same search, only better

Faceting, typo tolerance and synonyms carry over — now with hybrid keyword + vector ranking on top.

AI answers, no glue code

RAG, cited chat and agents over your own content ship in the box — nothing to assemble or host separately.

Your front-end barely changes

Swap InstantSearch or elasticsearch-js for the React or zero-dependency vanilla-JS SDK — the same UI, on your infra.

And your data never leaves your network

A hosted SaaS keeps your index — and increasingly your users' queries — in someone else's cloud. Turing runs on your own hardware: documents, embeddings and query logs stay put.

  • Self-hosted under Apache 2.0
  • Content & embeddings stay on-prem
  • Bring your own LLM & search engine
  • No per-record or per-search billing