ページ内ナビ
概要
pg_searchはPostgreSQLの検索機能をActiveRecord named scopeとして利用するRuby libraryです。tsearch full-text、trigram、dmetaphone、rank/highlight、association検索に加え、複数modelを横断するmultisearch indexを提供します。現在のversionは2.4.0です。
特徴と向いている用途
公式資料に基づく紹介・実機未検証 · 内容確認日:
主な特徴
model単位のsearch scopeへtsearch・trigram・rankを組み込む
pg_search_scopeで複数columnやassociationを検索し、PostgreSQLのfull-text search、trigram similarity、prefix、dictionary、weight、rank、highlight等を組み合わせられます。
出典:[2]
multisearchで複数ActiveRecord modelを一つのglobal searchへまとめる
multisearchableを設定するとpg_search_documentsへsearch documentを持ち、異なるmodel typeを横断したglobal searchを構築できます。必要に応じてrebuildも可能です。
出典:[2]
向いている用途
外部search engineを導入せずPostgreSQL内でapplication searchを始めたい場合に向く
管理画面検索、autocomplete、small-to-medium規模のsite search等で、既存PostgreSQLのindexとActiveRecord relationを活かしたいRails applicationに適します。
出典:[2]
導入前の確認
参考にした公式資料
- [1]Casecommons/pg_search — GitHub repository(2026-10-06)
- [2]pg_search — README(2026-10-06)
- [3]pg_search — gemspec(2026-10-06)
- [4]pg_search — CHANGELOG(2026-10-06)
編集部からの補足
外部search engineなしで始めやすい一方、性能はPostgreSQL index設計に依存します。multisearchのrebuildとcallbackを迂回する更新の扱いも運用手順に含めてください。
3ステップで試す
- 1
ソースを取得
git clone --depth 1 https://github.com/Casecommons/pg_search.git - 2
リポジトリへ移動
cd pg_search - 3
公式手順を確認
READMEのInstallation / Quick Start / Getting Startedにある公式コマンドを続けて実行してください。
find . -maxdepth 1 -iname 'README*' -exec sed -n '1,220p' {} \; -quit
成長
成長の推移 · 直近30日
1,588 Stars
推移データを蓄積中です。
開発アクティビティ
直近90日・週次
- Commit(直近30日)
- 16
- Open PR
- 31
開発アクティビティを蓄積中です。
Built with
カテゴリとタグ
GitHubデータ
関連情報
関連記事を投稿するこのOSSの使い方や活用事例をMarkdownで投稿できます。管理者が承認した後に公開されます。
あわせて探訪
- GORM39,982 Stars
共通タグ 2件 · 共通カテゴリ 2件
Association・Transaction・SQL Builderをまとめて扱うGo向けフル機能ORM
Go - Turso Database24,632 Stars
共通タグ 2件 · 共通カテゴリ 2件
SQLite互換のSQLをRust製エンジンで実行し、複数言語から組み込めるデータベース
Rust - HikariCP21,234 Stars
共通タグ 2件 · 共通カテゴリ 2件
JDBC connection poolを小さく高速に保ち、timeoutとlifetimeを明示的に管理する
Java - sqlc18,348 Stars
共通タグ 2件 · 共通カテゴリ 2件
SQLをsource of truthにして型安全なdata-access codeを生成するSQL compiler
Go - sqlx17,743 Stars
共通タグ 2件 · 共通カテゴリ 2件
database/sql互換を保ったままStructScan・Named Queryを追加するGo DB拡張
Go - Ent17,204 Stars
共通タグ 2件 · 共通カテゴリ 2件
Schema as Codeから型安全なquery APIを生成するGo Entity Framework
Go
情報の誤りを報告
掲載内容に誤りや古い情報があればお知らせください。