Cette page est affichée en anglais. Une traduction française est en cours.
ScriptsJul 20, 2026·2 min de lecture

Orama — Full-Text and Vector Search Engine for JavaScript

A fast, typo-tolerant search engine that runs entirely in-process with support for full-text, vector, and hybrid search on any JavaScript runtime.

Prêt pour agents

Installation agent prête

Cet actif peut être installé après choix du runtime, vérification du plan et exécution de la commande adaptée.

Native · 98/100Policy : autoriser
Surface agent
Tout agent MCP/CLI
Type
Skill
Installation
Single
Confiance
Confiance : Established
Point d'entrée
Orama Search Engine
Commande d'installation directe
npx -y tokrepo@latest install 32325e91-8419-11f1-9bc6-00163e2b0d79 --target codex

À exécuter après confirmation du plan en dry-run.

Introduction

Orama is an open-source, dependency-free search engine written in TypeScript that supports full-text, vector, and hybrid search. It runs anywhere JavaScript runs — browsers, Node.js, Deno, Bun, and edge runtimes — providing portable search without external services.

What Orama Does

  • Provides sub-millisecond full-text search with built-in typo tolerance and stemming
  • Supports vector search and hybrid (keyword + vector) ranking in a single engine
  • Runs entirely in-process with no external dependencies or servers required
  • Offers faceted search, filters, sorting, grouping, and geo-search
  • Includes a plugin system for analytics, persistence, and custom tokenizers

Architecture Overview

Orama stores documents in an in-memory radix tree for text indexing and flat arrays for vector embeddings. Keyword queries traverse the prefix tree while vector lookups use cosine similarity. Results are scored and merged in a single pass with no network overhead. The index serializes to JSON for persistence.

Self-Hosting & Configuration

  • Install via npm, yarn, or pnpm with no native dependencies
  • Import as an ES module or CommonJS package
  • Define a schema object describing document fields and types
  • Configure custom tokenizers, stemming, or language settings as needed
  • Persist indexes using the persistence plugin or manual JSON serialization

Key Features

  • Zero external dependencies; runs on any JavaScript runtime
  • Hybrid search combining BM25 full-text ranking with vector similarity
  • Built-in typo tolerance with configurable edit distance
  • Faceted search, filters, and geo-search out of the box
  • Pluggable architecture for extending indexing and search behavior

Comparison with Similar Tools

  • Lunr.js — simpler API but lacks vector search, facets, and active maintenance
  • FlexSearch — fast full-text but no vector or hybrid capabilities
  • MiniSearch — lightweight but limited to keyword search only
  • Meilisearch — server-based with broader features but requires a separate process
  • Typesense — hosted or self-hosted server; Orama runs in-process without infrastructure

FAQ

Q: Does Orama require a server? A: No. It runs entirely in-process wherever JavaScript runs, including browsers and edge functions.

Q: Can I use Orama with React or Vue? A: Yes. Orama provides framework-agnostic hooks and official integrations for popular frameworks.

Q: How large can the dataset be? A: Browser-side indexes handle tens of thousands of documents; server-side indexes scale to hundreds of thousands.

Q: Does Orama support multiple languages? A: Yes. Built-in stemmers and tokenizers cover 30+ languages.

Sources

Fil de discussion

Connectez-vous pour rejoindre la discussion.
Aucun commentaire pour l'instant. Soyez le premier à partager votre avis.

Actifs similaires