Skip to main content
Orama is a next-generation search engine that brings powerful search capabilities to your JavaScript and TypeScript applications. Whether you’re building for the browser, server, or edge network, Orama delivers lightning-fast full-text, vector, and hybrid search in a remarkably small package.

Why Orama?

Orama stands out as a complete search solution that combines simplicity with powerful features:
  • Blazing fast - Search results in microseconds, not milliseconds
  • Incredibly small - Less than 2kb gzipped
  • Zero dependencies - No external dependencies required
  • Universal - Works in browsers, Node.js, Deno, Bun, and edge runtimes
  • Type-safe - Full TypeScript support with intelligent autocompletion
  • Flexible - Support for full-text, vector, and hybrid search modes

Quickstart

Get started with Orama in under 5 minutes

Installation

Install Orama with your favorite package manager

Full-text search

Build powerful full-text search with typo tolerance

Vector search

Implement semantic search with embeddings

Hybrid search

Combine full-text and vector search for best results

Answer engine

Build ChatGPT-like experiences with RAG

Key features

Orama is packed with features that make it the perfect choice for building modern search experiences:

Search capabilities

  • Full-text search - Fast, typo-tolerant full-text search across all your content
  • Vector search - Semantic search using embeddings for AI-powered results
  • Hybrid search - Combine full-text and vector search for optimal relevance
  • Geosearch - Location-based search with distance calculations
  • Faceted search - Filter and facet your search results
  • Search filters - Advanced filtering capabilities

Relevance tuning

  • BM25 algorithm - Industry-standard relevance scoring
  • Fields boosting - Prioritize specific fields in search results
  • Typo tolerance - Find results even with spelling mistakes
  • Exact match - Support for exact phrase matching
  • Pinning rules - Merchandising and results promotion

Developer experience

  • Plugin system - Extend Orama with official and custom plugins
  • Stemming in 30 languages - Multi-language support out of the box
  • Data persistence - Save and restore your search index
  • Analytics - Track search behavior and performance
  • GenAI integration - Build RAG applications with OpenAI and other LLMs

Supported data types

Orama supports 10 different data types for maximum flexibility:
TypeDescriptionExample
stringA string of characters'Hello world'
numberA numeric value, float or integer42
booleanA boolean valuetrue
enumAn enum value'drama'
geopointA geographic coordinate{ lat: 40.7128, lon: 74.0060 }
string[]An array of strings['red', 'green', 'blue']
number[]An array of numbers[42, 91, 28.5]
boolean[]An array of booleans[true, false, false]
enum[]An array of enums['comedy', 'action', 'romance']
vector[<size>]A vector for semantic search[0.403, 0.192, 0.830]

Next steps

Get started

Follow our quickstart guide to build your first search application

Explore plugins

Discover official plugins for embeddings, analytics, and more

Build docs developers (and LLMs) love