Repolode
typesense

typesense/typesense

Typesenseは、タイプミス許容、ファセット検索、地理検索、ベクトル検索に対応し、AlgoliaやElasticsearchよりシンプルな選択肢を目指すオープンソースのインメモリ検索エンジンです。

代替できる製品:AlgoliaElasticsearch

スター
27,011
フォーク
1,029
未解決の Issue
911
最終コミット
9 時間前

これは何?

TypesenseはC++で書かれた検索エンジンサーバーで、単一のバイナリとして配布されています。JSONドキュメントをコレクションにインデックス化し、HTTP API経由でクエリを処理します。入力ミスを標準で補正するほか、クエリ時のソートやフィルタリング、ファセット検索、グルーピング、複数コレクションを横断するフェデレーテッド検索に対応しています。

キーワード検索に加えて、指定した半径やバウンディングボックス内の地理検索、用意した埋め込み表現を使うベクトル検索、組み込みのセマンティック検索とハイブリッド検索を利用できます。組み込みモデルやOpenAIなどの外部プロバイダーを使って埋め込み表現を生成することも可能です。シノニム、検索結果の調整、コレクション間のJOIN、マルチテナント環境向けのスコープ付きAPIキーなども備えています。クラスタリングには高可用性を実現するRaftを採用しています。

JavaScript、PHP、Python、Ruby向けの公式APIクライアントがあり、ほかの多くの言語向けにもコミュニティ製クライアントが提供されています。LinuxとmacOS向けのバイナリが公開されており、公式Dockerイメージも利用できます。サーバーはGPL-3.0、クライアントライブラリはApache-2.0でライセンスされています。

主な機能

  • 01追加設定なしで使える、タイプミス許容の全文検索。
  • 02クエリ時のソート、フィルタリング、ファセット検索、グルーピング、およびコレクション横断のフェデレーテッド検索。
  • 03半径またはバウンディングボックスによる地理検索。
  • 04埋め込みモデルを使ったベクトル検索と、組み込みのセマンティック検索およびハイブリッド検索。
  • 05シノニム、検索結果の調整、コレクション間のJOIN。
  • 06Raftベースのクラスタリングと、マルチテナントアプリ向けのスコープ付きAPIキー。

ユースケース

  • ECサイトやコンテンツサイトに、サイト内検索や商品検索を追加する。
  • Elasticsearchより軽量な選択肢として、セルフホストのデータセットを対象とした検索を構築する。
  • 独自のモデルで生成した埋め込み表現を使って、セマンティック検索や類似検索を実装する。

クイックスタート

  1. 1

    DockerでTypesenseサーバーを起動する

    docker run -p 8108:8108 -v/tmp/data:/data typesense/typesense:29.0 --data-dir /data --api-key=Hu52dwsas2AdxdE
  2. 2

    Pythonクライアントをインストールする

    pip install typesense
  3. 3

    Pythonクライアントを使ってコレクションを作成し、ドキュメントをインデックスに登録して検索する

使う前に知っておきたいこと

  • GPL-3.0ライセンス(コピーレフト)のため、プロプライエタリ製品での利用が制限される場合があります。
  • 公式バイナリパッケージはLinuxとMac向けのみ公開されています。そのため、WindowsユーザーはDockerを使うか、ソースからビルドする必要があります。

トピック

よくある質問

typesense とは?
Typesenseは、タイプミス許容、ファセット検索、地理検索、ベクトル検索に対応し、AlgoliaやElasticsearchよりシンプルな選択肢を目指すオープンソースのインメモリ検索エンジンです。 TypesenseはC++で書かれた検索エンジンサーバーで、単一のバイナリとして配布されています。JSONドキュメントをコレクションにインデックス化し、HTTP API経由でクエリを処理します。入力ミスを標準で補正するほか、クエリ時のソートやフィルタリング、ファセット検索、グルーピング、複数コレクションを横断するフェデレーテッド検索に対応しています。
typesense は無料で使えますか?ライセンスは?
typesense は GPL-3.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
typesense は今もメンテナンスされていますか?
活発にメンテナンス中。typesense の最終コミットは 2026年10月20日 です。
typesense は何に使えますか?
ECサイトやコンテンツサイトに、サイト内検索や商品検索を追加する。 Elasticsearchより軽量な選択肢として、セルフホストのデータセットを対象とした検索を構築する。 独自のモデルで生成した埋め込み表現を使って、セマンティック検索や類似検索を実装する。
typesense のインストール方法は?
DockerでTypesenseサーバーを起動する: docker run -p 8108:8108 -v/tmp/data:/data typesense/typesense:29.0 --data-dir /data --api-key=Hu52dwsas2AdxdE Pythonクライアントをインストールする: pip install typesense Pythonクライアントを使ってコレクションを作成し、ドキュメントをインデックスに登録して検索する
typesense はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/typesense/typesense

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト