与えられたキーワードに合致するデータをデータベースから取得することを考えた時、完全一致であれば「=」で検索を行うと思います。 では与えられたキーワードを「含む」検索、つまり部分一致を行いたいのであればどうするか。最も簡単なのは「search_column like '%キーワード%'」といった形で、「like」を使いキーワードの前後にワイルドカードを与える方法でしょう。 ですがこれを何の気無しに使うのはちょっと危険。 上記のようなlike検索ではインデックスが利用されないため(※)、全レコードをスキャンします。 かつキーワードを部分一致で探したいようなカラムは、文章等の比較的大きなサイズであると考えられます。 そのため検索コストは大きく、数千〜数万行であればまだ良いかもしれませんが、数十万ともなると利用には耐えられないでしょう。(実体験) ※ただし前方一致検索であれば、最初のワイルドカード
PostgreSQLの全文検索モジュールpg_bigmの最新バージョン1.1がリリースされました。 今回は、この最新バージョンを使って、PostgreSQLに格納した様々な日本語データを高速に日本語検索してみます! (PostgreSQL Advent Calendar 2013 5日目の記事と内容かぶって申し訳ないです。。) 検索対象データ 今回は、以下の日本語データで全文検索を試しました。 青空文庫の書籍一覧データ 住所データ 日本版Wikipediaのタイトル一覧データ pg_bigmのインストール ここからpg_bigm 1.1をダウンロードして、インストールします。 $ tar zxf pg_bigm-1.1-20131122.tar.gz $ cd pg_bigm-1.1-20131122 $ make USE_PGXS=1 PG_CONFIG=$HOME/pgsql-9.3.
PostgreSQLでまたまた日本語全文検索を実装してみる(pg_bigm編) in VirtualBoxで作るCentOS+nginxの検証環境Webサーバ 前回に引き続き、PostgreSQLに日本語中間一致検索でインデックスを使えるようにしていく。今回は、pg_bigm の出番である。pg_trgmとは違って日本語中間一致検索のために作られているモジュールなのでとても期待できる。ただ、2013年4月5日リリースのpg_bigm20130405はPostgreSQL9.1 で動作確認が行われており「9.2以降には対応していると思われますが、動作確認していません。」言うのが開発者の公式見解である。当環境は9.2だが私の自己責任においてインストールしてみようと思う。 pg_bigmのインストール 1.pg_bigmのダウンロード まずは、pg_bigmをプロジェクトサイトのリンクからダウン
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く