---
title: "orama"
type: "tool"
slug: "oramasearch-orama"
canonical_url: "https://www.graphcanon.com/tools/oramasearch-orama"
github_url: "https://github.com/oramasearch/orama"
homepage_url: "https://docs.orama.com/docs/orama-js"
stars: 10468
forks: 396
primary_language: "TypeScript"
license: "Other"
categories: ["vector-databases", "data-retrieval"]
tags: ["full-text-search", "javascript", "search-engine", "vector-database-embedding", "typescript", "vector-search", "hybrid-search"]
updated_at: "2026-07-07T18:33:32.623237+00:00"
---

# orama

> A lightweight search engine with support for full-text, vector, and hybrid search.

Orama provides a compact (less than 2kb) full-featured search engine supporting full-text, vector, and hybrid searches. It includes GenAI chat sessions, typo tolerance features, and works seamlessly across browsers, servers, or edge networks.

## Facts

- Repository: https://github.com/oramasearch/orama
- Homepage: https://docs.orama.com/docs/orama-js
- Stars: 10,468 · Forks: 396 · Open issues: 17 · Watchers: 44
- Primary language: TypeScript
- License: Other
- Last pushed: 2026-07-03T15:02:42+00:00

## Categories

- [Vector Databases](/categories/vector-databases.md)
- [Data & Retrieval](/categories/data-retrieval.md)

## Tags

full-text-search, javascript, search-engine, vector-database-embedding, typescript, vector-search, hybrid-search

## Related tools

- [transformers](/tools/huggingface-transformers.md) - 🤗 Transformers: the model-definition framework for state-of-the-art machine learning models (★ 162,347)
- [langflow](/tools/langflow-ai-langflow.md) - Langflow is a powerful platform for building and deploying AI-powered agents and workflows. (★ 151,298)
- [firecrawl](/tools/firecrawl-firecrawl.md) - The API to search, scrape, and interact with the web at scale. (★ 147,117)
- [PaddleOCR](/tools/paddlepaddle-paddleocr.md) - PaddleOCR: A powerful OCR toolkit for transforming PDFs/images into structured data (★ 84,919)
- [graphify](/tools/graphify-labs-graphify.md) - AI coding assistant skill that transforms various file types into a queryable knowledge graph (★ 79,371)
- [llm-app](/tools/pathwaycom-llm-app.md) - Ready-to-run cloud templates for RAG, AI pipelines, and enterprise search with live data. (★ 59,097)
- [meilisearch](/tools/meilisearch-meilisearch.md) - A lightning-fast search engine API bringing AI-powered hybrid search to your sites and applications. (★ 58,448)
- [mempalace](/tools/mempalace-mempalace.md) - The best-benchmarked open-source AI memory system. And it's free. (★ 57,069)

## README (excerpt)

```text
<p align="center">
  <img src="https://raw.githubusercontent.com/oramasearch/orama/refs/heads/main/misc/readme/orama-readme-hero-dark.png#gh-dark-mode-only" />
  <img src="https://raw.githubusercontent.com/oramasearch/orama/refs/heads/main/misc/readme/orama-readme-hero-light.png#gh-light-mode-only" />
</p>





If you need more info, help, or want to provide general feedback on Orama, join the [Orama Slack channel](https://orama.to/slack)

# Highlighted features

- [Full-Text search](https://docs.orama.com/docs/orama-js/search)
- [Vector Search](https://docs.orama.com/docs/orama-js/search/vector-search)
- [Hybrid Search](https://docs.orama.com/docs/orama-js/search/hybrid-search)
- [GenAI Chat Sessions](https://docs.orama.com/docs/orama-js/answer-engine)
- [Search Filters](https://docs.orama.com/docs/orama-js/search/filters)
- [Geosearch](https://docs.orama.com/docs/orama-js/search/geosearch)
- [Pinning Rules (Merchandising)](https://docs.orama.com/docs/orama-js/results-pinning)
- [Facets](https://docs.orama.com/docs/orama-js/search/facets)
- [Fields Boosting](https://docs.orama.com/docs/orama-js/search/fields-boosting)
- [Typo Tolerance](https://docs.orama.com/docs/orama-js/search#typo-tolerance)
- [Exact Match](https://docs.orama.com/docs/orama-js/search#exact-match)
- [BM25](https://docs.orama.com/docs/orama-js/search/bm25)
- [Stemming and tokenization in 30 languages](https://docs.orama.com/docs/orama-js/text-analysis/stemming)
- [Plugin System](https://docs.orama.com/docs/orama-js/plugins)

# Installation

You can install Orama using `npm`, `yarn`, `pnpm`, `bun`:

```sh
npm i @orama/orama
```

Or import it directly in a browser module:

```html
<html>
  <body>
    <script type="module">
      import { create, insert, search } from 'https://cdn.jsdelivr.net/npm/@orama/orama@latest/+esm'
    </script>
  </body>
</html>
```

With Deno, you can just use the same CDN URL or use npm specifiers:

```js
import { create, search, insert } from 'npm:@orama/orama'
```

Read the complete documentation at [https://docs.orama.com](https://docs.orama.com).

# Orama Features

<p align="center">
  <img src="https://raw.githubusercontent.com/oramasearch/orama/refs/heads/main/misc/readme/features-dark.png#gh-dark-mode-only" />
  <img src="https://raw.githubusercontent.com/oramasearch/orama/refs/heads/main/misc/readme/features-light.png#gh-light-mode-only" />
</p>

# Usage

Orama is quite simple to use. The first thing to do is to create a new database
instance and set an indexing schema:

```js
import { create, insert, remove, search, searchVector } from '@orama/orama'

const db = create({
  schema: {
    name: 'string',
    description: 'string',
    price: 'number',
    embedding: 'vector[1536]', // Vector size must be expressed during schema initialization
    meta: {
      rating: 'number',
    },
  },
})

insert(db, {
  name: 'Noise cancelling headphones',
  description: 'Best noise cancelling headphones on the market',
  price: 99.99,
  embedding: [0.2432, 0.9431, 0.5322, 0.4234, ...],
  meta: {
    rating: 4.5
  }
})

const results = search(db, {
  term: 'Best headphones'
})

// {
//   elapsed: {
//     raw: 21492,
//     formatted: '21μs',
//   },
//   hits: [
//     {
//       id: '41013877-56',
//       score: 0.925085832971998432,
//       document: {
//         name: 'Noise cancelling headphones',
//         description: 'Best noise cancelling headphones on the market',
//         price: 99.99,
//         embedding: [0.2432, 0.9431, 0.5322, 0.4234, ...],
//         meta: {
//           rating: 4.5
//         }
//       }
//     }
//   ],
//   count: 1
// }
```

Orama currently supports 10 different data types:

| Type             | Description                                                                 | Example                                                                     |
| ---------------- | --------------------------------------------------------------------------- | -------------------------------------------------
```

---

**Machine-readable endpoints**

- JSON: [`/api/graphcanon/tools/oramasearch-orama`](/api/graphcanon/tools/oramasearch-orama)
- LLM index: [/llms.txt](/llms.txt)
- Full corpus: [/llms-full.txt](/llms-full.txt)

_GraphCanon - The knowledge graph for AI development. https://www.graphcanon.com/_
