# oramasearch/orama

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/oramasearch-orama).**

10,164 stars · 377 forks · TypeScript · other

## Links

- GitHub: https://github.com/oramasearch/orama
- Homepage: https://docs.orama.com/docs/orama-js
- awesome-repositories: https://awesome-repositories.com/repository/oramasearch-orama.md

## Topics

`algiorithm` `data-structures` `full-text` `javascript` `node` `search` `search-algorithm` `search-engine` `typescript` `typo-tolerance` `vector` `vector-database` `vector-database-embedding` `vector-search` `vector-search-engine`

## Description

Orama is a search engine and vector database that provides full-text indexing, geospatial calculations, and semantic vector storage. It functions as an LLM retrieval engine designed to provide grounded context to language models for conversational interfaces.

The project implements hybrid search by combining dense vector embeddings with inverted keyword indices to retrieve documents based on both semantic meaning and exact text matches. It utilizes a WebAssembly module to execute search logic across different JavaScript environments and platforms.

The system covers a broad range of retrieval capabilities, including faceted search with category counts, geographical distance filtering, and typo tolerance. It also includes a middleware pipeline for integrating external plugins and tools for search result merchandising to influence document ranking via custom rules.

## Tags

### Data & Databases

- [Full-Text Search Engines](https://awesome-repositories.com/f/data-databases/full-text-search-engines.md) — Acts as a full-text search engine providing keyword matching, typo tolerance, and linguistic stemming.
- [Hybrid Search Engines](https://awesome-repositories.com/f/data-databases/hybrid-search-engines.md) — Provides a search engine that integrates vector-based semantic retrieval with traditional keyword-based indexing for high-accuracy data discovery. ([source](https://cdn.jsdelivr.net/gh/oramasearch/orama@main/README.md))
- [Full Text Search](https://awesome-repositories.com/f/data-databases/full-text-search.md) — Implements full-text search with typo tolerance and multi-language support for quick content discovery.
- [Hybrid Vector-Keyword Indexing](https://awesome-repositories.com/f/data-databases/hybrid-vector-keyword-indexing.md) — Combines dense vector embeddings with inverted keyword indices for semantic and exact text matches.
- [Vector Databases](https://awesome-repositories.com/f/data-databases/vector-databases.md) — Provides a vector database for storing semantic embeddings and performing similarity searches.
- [Wasm-Based Search Engines](https://awesome-repositories.com/f/data-databases/wasm-based-search-engines.md) — Executes search logic within a WebAssembly module to maintain high performance across platforms.
- [Geospatial Search](https://awesome-repositories.com/f/data-databases/geospatial-search.md) — Allows finding and displaying documents based on physical distance or geographic coordinates.
- [Search Filtering Systems](https://awesome-repositories.com/f/data-databases/search-filtering-systems.md) — Implements a search filtering system to narrow outputs using metadata and field-based category counts. ([source](https://cdn.jsdelivr.net/gh/oramasearch/orama@main/README.md))
- [Faceted Navigation](https://awesome-repositories.com/f/data-databases/search-indexing-technologies/search-indexing/search-and-indexing/search-interface-components/faceted-navigation.md) — Provides faceted navigation with category counts to narrow search results by specific attributes.

### Artificial Intelligence & ML

- [Retrieval-Augmented Generation](https://awesome-repositories.com/f/artificial-intelligence-ml/conversational-interfaces/retrieval-augmented-generation.md) — Implements a retrieval engine designed to provide grounded context to language models for conversational interfaces. ([source](https://cdn.jsdelivr.net/gh/oramasearch/orama@main/README.md))
- [Inference Context Injection](https://awesome-repositories.com/f/artificial-intelligence-ml/generative-ai-resources/generative-ai/grounded-answer-generation/inference-context-injection.md) — Injects retrieved search documents into language models to provide grounded context for generation.
- [Retrieval Engines](https://awesome-repositories.com/f/artificial-intelligence-ml/retrieval-engines.md) — Functions as a retrieval engine that provides grounded context to language models for conversational AI.
- [Spatial Filtering](https://awesome-repositories.com/f/artificial-intelligence-ml/geospatial-coordination-systems/spatial-filtering.md) — Implements spatial indexing to filter results within specific radii or bounding boxes.
- [Context-Aware Chat Interfaces](https://awesome-repositories.com/f/artificial-intelligence-ml/language-model-orchestration/retrieval-augmented-generation/context-aware-chat-interfaces.md) — Supports building chat interfaces that automatically inject retrieved documents as context for LLMs.

### Software Engineering & Architecture

- [Typo Tolerance](https://awesome-repositories.com/f/software-engineering-architecture/trie-data-structures/typo-tolerance.md) — Uses prefix trees and edit distance algorithms to find documents despite spelling errors.

### Web Development

- [Search Result Promoters](https://awesome-repositories.com/f/web-development/search-result-management/search-result-item-definitions/search-result-promoters.md) — Includes tools to influence search result order by pinning specific documents based on custom business rules. ([source](https://cdn.jsdelivr.net/gh/oramasearch/orama@main/README.md))
