Orama

active

by Orama (OramaSearch Inc.) · since 2022 · also known as OramaJS, Lyra

Tiny TypeScript full-text, vector and hybrid search engine for browsers, servers and the edge.

search enginevectordocumentembedded libraryopen source (permissive)growing

Overview

Orama (originally Lyra) is an in-memory search engine written in TypeScript that runs in the browser, Node, Deno, Bun and edge runtimes with no native dependencies. It supports full-text search with typo tolerance, facets, filters, geosearch, vector and hybrid search, plus plugins for persistence, embeddings and documentation sites (it powers many docs search bars). The company behind it has since broadened into an enterprise AI platform (Metis), and the open-source library, now branded OramaJS, receives slower but continuing maintenance. Great for client-side and static-site search; not a server database.

Strengths & trade-offs

Strengths

  • +Runs entirely client-side or at the edge with no server
  • +Full-text, vector and hybrid search in a few kilobytes
  • +Typo tolerance, facets, filters and geosearch
  • +Plugin ecosystem for docs frameworks (Docusaurus, VitePress, Astro)

Trade-offs

  • −In-memory only; dataset size limited by the JS heap
  • −Library releases slowed after the company's pivot
  • −No replication or server mode
  • −JavaScript-only

Great for

  • +Static site and documentation search
  • +Offline search in web and mobile apps
  • +Edge-function search over small corpora
  • +Client-side RAG prototypes

Think twice for

  • −Large datasets
  • −Server-side multi-tenant search
  • −Non-JavaScript stacks

Capabilities

Native or official first-party support · 7 of 25 tracked

✓Secondary indexes
✓Full-text search
✓Vector search
✓Geospatial
✓JSON
✓In-memory
✓Durable persistence
–Transactions
–Joins
–Change data capture
–Triggers
–Stored procedures
–Materialized views
–TTL / expiry
–Pub/Sub
–Columnar storage
–Compression
–Encryption at rest
–Role-based access
–Time travel
–Branching
–Online schema changes
–Streaming ingest
–Offline sync
–Runs in WebAssembly

Scale & consistency

Comfortable data size
Small · ≤ 100 GB
Horizontal scaling
None
Multi-region
No
Transactions
None
Consistency
Strong
Schema
Strict
Architecture
Embedded, In memory
Query languages
Orama search API (TypeScript)

Index lives in process memory; best for up to hundreds of thousands of documents.

Deployment

Self-hosted Vendor-managed cloud Serverless Embedded Edge Kubernetes operator

Ecosystem

apis & protocolsJavaScript/TypeScript
client languagesJavaScript, TypeScript

Alternatives to Orama

Compare all→
MeilisearchSearch Engine32.3

Developer-friendly Rust search engine with typo tolerance and built-in hybrid semantic search.

orama vs meilisearch →
TypesenseSearch Engine28.8

In-memory, typo-tolerant search engine in C++ with vector, hybrid and conversational search.

orama vs typesense →
AlgoliaSearch Engine54.3

Hosted search-as-a-service with fast typo-tolerant search, merchandising and AI ranking.

orama vs algolia →
sqlite-vecVector31.1

Dependency-free SQLite extension for vector search that runs anywhere SQLite does, including WASM.

orama vs sqlite-vec →
LanceDBVector27.5

Embedded, serverless retrieval database on the Lance columnar format for multimodal AI data.

orama vs lancedb →
ChromaVector49.0

Open-source retrieval database for AI apps, from embedded Python to serverless Chroma Cloud.

orama vs chroma →

Orama FAQ

What is Orama?

Orama is a search engine database by Orama (OramaSearch Inc.), first released in 2022. Orama (originally Lyra) is an in-memory search engine written in TypeScript that runs in the browser, Node, Deno, Bun and edge runtimes with no native dependencies. It supports full-text search with typo tolerance, facets, filters, geosearch, vector and hybrid search, plus plugins for persistence, embeddings and documentation sites (it powers many docs search bars). The company behind it has since broadened into an enterprise AI platform (Metis), and the open-source library, now branded OramaJS, receives slower but continuing maintenance. Great for client-side and static-site search; not a server database.

Is Orama open source?

Yes. Orama is open source. License: Apache License 2.0.

Does Orama support ACID transactions?

No. Orama does not provide ACID transactions; its consistency model is strong.

Does Orama scale horizontally?

Orama does not scale horizontally; it runs on a single node, so you scale it up rather than out. It is comfortable at small scale (≤ 100 GB).

How can I run Orama?

You can self-host it, embed it in your application and run it at the edge.

What is Orama best for?

Orama is a strong fit for static site and documentation search; offline search in web and mobile apps; and edge-function search over small corpora. Think twice for large datasets.

What are the best alternatives to Orama?

Common alternatives to Orama include Meilisearch, Typesense, Algolia, sqlite-vec and LanceDB. The right choice depends on your workload, scale and hosting; WhichDB's smart match ranks them against your requirements.

How popular is Orama?

Orama ranks #165 of 844 databases on the WhichDB Score (19.6/100), and #14 among search engine databases. The score combines public adoption signals such as package downloads, GitHub activity, job posts and developer discussion.