oramasearch/orama
🌌 A complete search engine and RAG pipeline in your browser, server or edge network with support for full-text, vector, and hybrid search in less than 2kb.
What it solves
Orama provides a lightweight, flexible search engine that can be integrated directly into applications. It eliminates the need for complex external search infrastructure by offering full-text, vector, and hybrid search capabilities that can run in the browser, on the server, or in edge environments.
How it works
Users define a database schema with specific data types (such as strings, numbers, or vectors) and insert documents into the instance. Orama then enables various search modes:
- Full-Text Search: Uses BM25 and supports typo tolerance, stemming, and tokenization across 30 languages.
- Vector Search: Compares text embeddings to find semantically similar results.
- Hybrid Search: Combines both full-text and vector search for improved accuracy.
- Answer Engine: Integrates with LLMs (via plugins like Secure Proxy) to create RAG-based chat experiences where the engine provides context from the database to generate answers.
Who it’s for
Developers who need to add search functionality to their web or Node.js applications without managing a separate search server, as well as those building AI-powered chat interfaces and RAG systems.
Highlights
- Versatile Search: Supports full-text, vector, hybrid, and geosearch.
- Client-Side Ready: Can be imported via CDN and run directly in the browser.
- RAG Support: Built-in
AnswerSessionfor creating ChatGPT-like experiences using internal data. - Extensible: Features a plugin system for embeddings, data persistence, and secure API proxying.
- Multilingual: Stemming and tokenization support for 30 languages.
Related
- Dispatch
- Project
- Project
- Project
- Dispatch