はじめに
Oramaは、全文検索、ベクトル検索、ハイブリッド検索をサポートする、完全にTypeScriptで書かれたオープンソースの高性能検索エンジンである。Oramaは、高速で信頼性の高い検索機能を提供するために、あらゆるJavaScriptランタイム環境で動作するように設計されている。Oramaは、全文検索、ベクトル検索、ハイブリッド検索、地理検索、スペル耐性、多言語サポートなどの豊富な機能を提供し、小規模なプロジェクトから大規模なエンタープライズアプリケーションまで、さまざまな検索ニーズに対応している。
機能一覧
- 全文検索テキストコンテンツの高速かつ正確な全文検索をサポートします。
- ベクターサーチ画像や音声などの非テキストデータのベクトルベース検索をサポート。
- ハイブリッド検索全文検索とベクトル検索を組み合わせ、より包括的な検索結果を提供。
- ハイパフォーマンス最適化された検索アルゴリズムにより、大量のデータにもかかわらず高速なレスポンスを実現。
- ざいげんをひろげる完全なオープンソースであるため、ユーザーは必要に応じてカスタマイズし、拡張することができます。
- 非依存外部依存が不要なため、インストールと使用が簡素化されます。
- マルチプラットフォーム対応Node.jsやブラウザを含む様々なJavaScript実行環境に対応。
- 地理的検索位置情報検索機能をサポート
- スペル耐性検索体験を向上させるため、スペルミスの許容範囲を提供する。
- 多言語サポート30言語のステミングとトークン化をサポートします。
ヘルプの使用
取り付け
Oramaはnpm、yarn、pnpmを使ってインストールできる。以下はnpmを使ったインストール手順です:
- ターミナルまたはコマンドラインツールを開く。
- 以下のコマンドを実行してOramaをインストールする:
npm install @orama/orama
- インストールが完了したら、Oramaをプロジェクトに導入することができます:
import { create, insert, search } from '@orama/orama' ;
利用する
インデックスの作成
- 新しいインデックスを作成する:
const db = create({
スキーマ: {
name: 'string'、
description: 'string', price: 'number', embedding: 'vector[1536]', }.
embedding: 'vector[1536]', meta: { { メタ: 'vector[1536]', }.
meta: {
rating: '数値'、
}, }
}, }
}).
- インデックスに文書を追加する:
insert(db, {
name: 'ノイズキャンセリングヘッドフォン', description: '市場で最高のノイズキャンセリングヘッドフォン', { {
説明: '市場で最高のノイズキャンセリングヘッドフォン'、
name: 'ノイズキャンセリングヘッドフォン', description: '市場で最高のノイズキャンセリングヘッドフォン', price: 99.99、
埋め込み: [0.2432, 0.9431, 0.5322, 0.4234, ...].,
meta: { rating: 4.5 }, }); }.
}).
- 検索を実行する:
const results = search(db, { term: 'Best headphones' });
console.log(results);
ベクターサーチ
- ベクトルインデックスを作成します:
const vectorIndex = create({)
スキーマ: {
name: 'string'、
embedding: 'vector[1536]'、
},
});
- インデックスにベクトルを追加する:
挿入(vectorIndex, {)
name: 'サンプルベクトル'、
エンベッディング: [0.1, 0.2, 0.3, ...].,
}).
- ベクトル検索を行う:
const vectorResults = search(vectorIndex, { { { { vectorResults = search(vectorIndex, {
term: 'サンプル・ベクトル', mode: 'vector', {
}); console.log(vectorResults);
console.log(vectorResults);
高度な機能
Oramaはまた、カスタム・データのインポート、品質チェック、分析ツール、セキュリティ設定など、多くの高度な機能を提供している。ユーザーは検索体験を最適化するために、必要に応じてこれらを設定することができる。
サンプルプロジェクト
Oramaは、nodejs.org、jsr.io、tanstack.comなど、1日に数百万のクエリを処理する有名なウェブサイトで使用されており、Oramaのパワーと信頼性を実証している。