Copyright©2016 NTT corp. All Rights Reserved.
pg_̲bigmをさわり始めた⼈人に
伝えたいこと
2016/6/9
NTT  OSSセンタ
澤⽥田  雅彦
@MySQLとPostgreSQLと⽇日本語全⽂文検索索2
2Copyright©2016 NTT corp. All Rights Reserved.
Ø 澤⽥田  雅彦(さわだ  まさひこ)
Ø @sawada_̲masahiko
Ø PostgreSQLサポート
Ø PostgreSQL本体機能の開発、パッチレビュー
Ø REINDEX  SCHEMA
Ø Freeze  Map
Ø マルチ同期レプリケーション
Ø 先々週PGCon@Ottawaに⾏行行きました
3Copyright©2016 NTT corp. All Rights Reserved.
http://www.slideshare.net/hadoopxnttdata/postgresqlpgbigm-‐‑‒
mysqlpostgresql
前回の資料料
4Copyright©2016 NTT corp. All Rights Reserved.
1.  pg_̲bigmの特徴
2.  関連するパラメータ、オプション
3.  便便利利なTIPS
⽬目次
5Copyright©2016 NTT corp. All Rights Reserved.
pg_̲bigmの特徴
6Copyright©2016 NTT corp. All Rights Reserved.
N-‐‑‒gram?形態素解析?
東京都で全⽂文検索索
•  東京
•  京都
•  都で
•  で全
•  全⽂文
•  ⽂文検
•  検索索
•  東京都
•  で
•  全⽂文検索索
N-‐‑‒gram
(2-‐‑‒gram)
形態素解析
7Copyright©2016 NTT corp. All Rights Reserved.
N-‐‑‒gram?形態素解析?
東京都で全⽂文検索索
•  東京
•  京都
•  都で
•  で全
•  全⽂文
•  ⽂文検
•  検索索
•  東京都
•  で
•  全⽂文検索索
•  東京都
•  で
•  全⽂文
•  検索索
N-‐‑‒gram
(2-‐‑‒gram)
形態素解析
形態素解析
8Copyright©2016 NTT corp. All Rights Reserved.
レプリケーション構成でも使えます
マスタ スタンバイ
クライアント
レプリケーシ
ョン
参照・更更新 参照
(全⽂文検索索)
9Copyright©2016 NTT corp. All Rights Reserved.
PostgreSQL9.4以降降がおすすめ
(前回資料料より)
http://www.slideshare.net/hadoopxnttdata/postgresqlpgbigm-mysqlpostgresql
10Copyright©2016 NTT corp. All Rights Reserved.
• 得意な全⽂文検索索
• 1⽂文字、2⽂文字検索索
•  例例えば、「東京」、「春」で検索索する場合
• 苦⼿手な全⽂文検索索
• 検索索対象データの⽂文字の”種類”が少ない
•  例例えば、ユーザID(AB0001)を全⽂文検索索、英⽂文を全⽂文検索索
•  英⽂文”のみ”の検索索には、pg_̲trgm、tsqueryが向いてい
ます。
pg_̲bigmが得意/苦⼿手な全⽂文検索索
11Copyright©2016 NTT corp. All Rights Reserved.
関連するパラメータ、オプション	
  
12Copyright©2016 NTT corp. All Rights Reserved.
=#	
  CREATE	
  INDEX	
  hoge_idx	
  	
  
	
  ON	
  hoge	
  	
  
	
  USING	
  gin	
  (col	
  gin_bigm_ops);	
  
	
  
=#	
  CREATE	
  INDEX	
  hoge_idx	
  	
  
	
  ON	
  hoge	
  	
  
	
  USING	
  gin	
  (col	
  gin_bigm_ops)	
  
	
  WITH	
  (FASTUPDATE	
  =	
  on/off);	
  
インデックスを作成する
13Copyright©2016 NTT corp. All Rights Reserved.
FASTUPDATE	
  
オプション
検索索 更更新
ON △	
  
(劣化する可能性あり)
○
OFF ○ ×
FASTUPDATEオプションとは?
•  GINインデックスの(弱点である)更更新を⾼高速化するオ
プション
•  デフォルトはON
•  オンラインでON/OFFの変更更が可能
14Copyright©2016 NTT corp. All Rights Reserved.
• work_̲mem
•  増やすと検索索性能に効く
• maintenance_̲work_̲mem
•  増やすとインデックス構築性能(更更新ではない)に効く
• gin_̲pending_̲list_̲limit(9.5~∼)
•  FASTUPDATEオプションをONにしているときのみ利利⽤用可能。
•  増やすと更更新性能に効く。ただし、副作⽤用として検索索性能が
落落ちる。
全⽂文検索索に関連する設定パラメータ
15Copyright©2016 NTT corp. All Rights Reserved.
便便利利なTIPS
16Copyright©2016 NTT corp. All Rights Reserved.
	
  
	
  
	
  
SELECT	
  *	
  FROM	
  hoge	
  
WHERE	
  col	
  LIKE	
  ‘%全⽂文検索索%’;	
  
	
  
	
  
アンダースコア(_)	
  	
  	
  :	
    任意の⼀一⽂文字	
  
パーセント(%) 	
  	
  	
  :	
    0⽂文字以上の並び	
  
※上記の⽂文字を検索索したいときはバックスラッシュ()でエスケープする
全⽂文検索索クエリを書く
17Copyright©2016 NTT corp. All Rights Reserved.
WHERE  col  LIKE  likequery(ʻ‘pg_̲bigmで検索索ʼ’);
||
WHERE  col  LIKE  ʻ‘%pg_̲bigmで検索索%ʼ’;
likequery()を使う
18Copyright©2016 NTT corp. All Rights Reserved.
=#	
  CREATE	
  TABLE	
  jb	
  (col	
  jsonb);	
  
=#	
  INSERT	
  INTO	
  jb	
  VALUES	
  
	
  (‘{“title”	
  :	
  “全⽂文検索索勉強会”}’);	
  
=#	
  SELECT	
  *	
  FROM	
  jb;	
  	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  col	
  
-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐	
  
	
  {"title":	
  "全⽂文検索索勉強会"}	
  
(1	
  row)
PostgreSQLのJSONB型
19Copyright©2016 NTT corp. All Rights Reserved.
JSONB型と⼀一緒に使う
{	
  
    “Htle”	
  	
  	
  :	
  “MySQLとPostgreSQLと⽇日本語全⽂文検索索2”,	
  
    “date”	
  	
  	
  :	
  2016-­‐06-­‐09,	
  
    “desc”	
  	
  	
  :	
  “MySQLとPostgreSQLの⽇日本語全⽂文検索索を知っている⼈人向けの勉強会”,	
  
    “url”	
  	
  	
  	
  	
  	
  :	
  “hXps://groonga.doorkeeper.jp/events/41770”	
  
    “hashtag”	
  :	
  “#mypgd”,	
  
    “venue”	
  :	
  {	
  	
  
	
         	
    “name”	
  :	
  “DMM.comラボ”,	
  
	
         	
    “address”	
  :	
  “渋⾕谷区恵⽐比寿4-­‐20-­‐3	
  恵⽐比寿ガーデンプレイスタワー21F”	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  }	
  
}	
  
20Copyright©2016 NTT corp. All Rights Reserved.
JSONB型と⼀一緒に使う
CREATE INDEX jb_idx on jb using gin(col);
{	
  
    “Htle”	
  	
  	
  :	
  “MySQLとPostgreSQLと⽇日本語全⽂文検索索2”,	
  
    “date”	
  	
  	
  :	
  2016-­‐06-­‐09,	
  
    “desc”	
  	
  	
  :	
  “MySQLとPostgreSQLの⽇日本語全⽂文検索索を知っている⼈人向けの勉強会”,	
  
    “url”	
  	
  	
  	
  	
  	
  :	
  “hXps://groonga.doorkeeper.jp/events/41770”	
  
    “hashtag”	
  :	
  “#mypgd”,	
  
    “venue”	
  :	
  {	
  	
  
	
         	
    “name”	
  :	
  “DMM.comラボ”,	
  
	
         	
    “address”	
  :	
  “渋⾕谷区恵⽐比寿4-­‐20-­‐3	
  恵⽐比寿ガーデンプレイスタワー21F”	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  }	
  
}	
  
21Copyright©2016 NTT corp. All Rights Reserved.
JSONB型と⼀一緒に使う
CREATE INDEX bigm_idx on jb using gin((col->>’desc’) gin_bigm_ops);
{	
  
    “Htle”	
  	
  	
  :	
  “MySQLとPostgreSQLと⽇日本語全⽂文検索索2”,	
  
    “date”	
  	
  	
  :	
  2016-­‐06-­‐09,	
  
    “desc”	
  	
  	
  :	
  “MySQLとPostgreSQLの⽇日本語全⽂文検索索を知っている⼈人向けの勉強会”,	
  
    “url”	
  	
  	
  	
  	
  	
  :	
  “hXps://groonga.doorkeeper.jp/events/41770”	
  
    “hashtag”	
  :	
  “#mypgd”,	
  
    “venue”	
  :	
  {	
  	
  
	
         	
    “name”	
  :	
  “DMM.comラボ”,	
  
	
         	
    “address”	
  :	
  “渋⾕谷区恵⽐比寿4-­‐20-­‐3	
  恵⽐比寿ガーデンプレイスタワー21F”	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  }	
  
}	
  
22Copyright©2016 NTT corp. All Rights Reserved.
{	
  
    “Htle”	
  	
  	
  :	
  “MySQLとPostgreSQLと⽇日本語全⽂文検索索2”,	
  
    “date”	
  	
  	
  :	
  2016-­‐06-­‐09,	
  
    “desc”	
  	
  	
  :	
  “MySQLとPostgreSQLの⽇日本語全⽂文検索索を知っている⼈人向けの勉強会”,	
  
    “url”	
  	
  	
  	
  	
  	
  :	
  “hXps://groonga.doorkeeper.jp/events/41770”	
  
    “hashtag”	
  :	
  “#mypgd”,	
  
    “venue”	
  :	
  {	
  	
  
	
         	
    “name”	
  :	
  “DMM.comラボ”,	
  
	
         	
    “address”	
  :	
  “渋⾕谷区恵⽐比寿4-­‐20-­‐3	
  恵⽐比寿ガーデンプレイスタワー21F”	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  }	
  
}	
  
JSONB型と⼀一緒に使う
WHERE  (col-‐‑‒>>ʼ’descʼ’)  LIKE  ʻ‘%⽇日本語全⽂文検索索%ʼ’;
CREATE  INDEX  bigm_̲idx  on  jb  using  gin((col-‐‑‒>>ʼ’descʼ’)  gin_̲bigm_̲ops);
23Copyright©2016 NTT corp. All Rights Reserved.
{	
  
    “Htle”	
  	
  	
  :	
  “MySQLとPostgreSQLと⽇日本語全⽂文検索索2”,	
  
    “date”	
  	
  	
  :	
  2016-­‐06-­‐09,	
  
    “desc”	
  	
  	
  :	
  “MySQLとPostgreSQLの⽇日本語全⽂文検索索を知っている⼈人向けの勉強会”,	
  
    “url”	
  	
  	
  	
  	
  	
  :	
  “hXps://groonga.doorkeeper.jp/events/41770”	
  
    “hashtag”	
  :	
  “#mypgd”,	
  
    “venue”	
  :	
  {	
  	
  
	
         	
    “name”	
  :	
  “DMM.comラボ”,	
  
	
         	
    “address”	
  :	
  “渋⾕谷区恵⽐比寿4-­‐20-­‐3	
  恵⽐比寿ガーデンプレイスタワー21F”	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  }	
  
}	
  
JSONB型と⼀一緒に使う
CREATE  INDEX  bigm_̲idx  on  jb  using  gin((col-‐‑‒>ʼ’venueʼ’-‐‑‒>>ʼ’addressʼ’)  
gin_̲bigm_̲ops);
24Copyright©2016 NTT corp. All Rights Reserved.
{	
  
    “Htle”	
  	
  	
  :	
  “MySQLとPostgreSQLと⽇日本語全⽂文検索索2”,	
  
    “date”	
  	
  	
  :	
  2016-­‐06-­‐09,	
  
    “desc”	
  	
  	
  :	
  “MySQLとPostgreSQLの⽇日本語全⽂文検索索を知っている⼈人向けの勉強会”,	
  
    “url”	
  	
  	
  	
  	
  	
  :	
  “hXps://groonga.doorkeeper.jp/events/41770”	
  
    “hashtag”	
  :	
  “#mypgd”,	
  
    “venue”	
  :	
  {	
  	
  
	
         	
    “name”	
  :	
  “DMM.comラボ”,	
  
	
         	
    “address”	
  :	
  “渋⾕谷区恵⽐比寿4-­‐20-­‐3	
  恵⽐比寿ガーデンプレイスタワー21F”	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  }	
  
}	
  
JSONB型と⼀一緒に使う
WHERE  (col-‐‑‒>ʼ’venueʼ’-‐‑‒>>ʼ’addressʼ’)  LIKE  ʻ‘%渋⾕谷%ʼ’;
CREATE  INDEX  bigm_̲idx  on  jb  using  gin((col-‐‑‒>ʼ’venueʼ’-‐‑‒>>ʼ’addressʼ’)  
gin_̲bigm_̲ops);
25Copyright©2016 NTT corp. All Rights Reserved.
1.  pg_̲bigmの特徴
•  9.4以降降がおすすめ
•  レプリケーション対応
•  得意/苦⼿手な全⽂文検索索
2.  関連するパラメータ・オプション
•  FASTUPDATEオプション
•  各種チューニングパラメータ
3.  便便利利なTIPS
•  likequery()関数
•  JSONBと⼀一緒に使う
まとめ
26Copyright©2016 NTT corp. All Rights Reserved.
ご清聴ありがとうございました

pg_bigmを触り始めた人に伝えたいこと

  • 1.
    Copyright©2016 NTT corp.All Rights Reserved. pg_̲bigmをさわり始めた⼈人に 伝えたいこと 2016/6/9 NTT  OSSセンタ 澤⽥田  雅彦 @MySQLとPostgreSQLと⽇日本語全⽂文検索索2
  • 2.
    2Copyright©2016 NTT corp.All Rights Reserved. Ø 澤⽥田  雅彦(さわだ  まさひこ) Ø @sawada_̲masahiko Ø PostgreSQLサポート Ø PostgreSQL本体機能の開発、パッチレビュー Ø REINDEX  SCHEMA Ø Freeze  Map Ø マルチ同期レプリケーション Ø 先々週PGCon@Ottawaに⾏行行きました
  • 3.
    3Copyright©2016 NTT corp.All Rights Reserved. http://www.slideshare.net/hadoopxnttdata/postgresqlpgbigm-‐‑‒ mysqlpostgresql 前回の資料料
  • 4.
    4Copyright©2016 NTT corp.All Rights Reserved. 1.  pg_̲bigmの特徴 2.  関連するパラメータ、オプション 3.  便便利利なTIPS ⽬目次
  • 5.
    5Copyright©2016 NTT corp.All Rights Reserved. pg_̲bigmの特徴
  • 6.
    6Copyright©2016 NTT corp.All Rights Reserved. N-‐‑‒gram?形態素解析? 東京都で全⽂文検索索 •  東京 •  京都 •  都で •  で全 •  全⽂文 •  ⽂文検 •  検索索 •  東京都 •  で •  全⽂文検索索 N-‐‑‒gram (2-‐‑‒gram) 形態素解析
  • 7.
    7Copyright©2016 NTT corp.All Rights Reserved. N-‐‑‒gram?形態素解析? 東京都で全⽂文検索索 •  東京 •  京都 •  都で •  で全 •  全⽂文 •  ⽂文検 •  検索索 •  東京都 •  で •  全⽂文検索索 •  東京都 •  で •  全⽂文 •  検索索 N-‐‑‒gram (2-‐‑‒gram) 形態素解析 形態素解析
  • 8.
    8Copyright©2016 NTT corp.All Rights Reserved. レプリケーション構成でも使えます マスタ スタンバイ クライアント レプリケーシ ョン 参照・更更新 参照 (全⽂文検索索)
  • 9.
    9Copyright©2016 NTT corp.All Rights Reserved. PostgreSQL9.4以降降がおすすめ (前回資料料より) http://www.slideshare.net/hadoopxnttdata/postgresqlpgbigm-mysqlpostgresql
  • 10.
    10Copyright©2016 NTT corp.All Rights Reserved. • 得意な全⽂文検索索 • 1⽂文字、2⽂文字検索索 •  例例えば、「東京」、「春」で検索索する場合 • 苦⼿手な全⽂文検索索 • 検索索対象データの⽂文字の”種類”が少ない •  例例えば、ユーザID(AB0001)を全⽂文検索索、英⽂文を全⽂文検索索 •  英⽂文”のみ”の検索索には、pg_̲trgm、tsqueryが向いてい ます。 pg_̲bigmが得意/苦⼿手な全⽂文検索索
  • 11.
    11Copyright©2016 NTT corp.All Rights Reserved. 関連するパラメータ、オプション  
  • 12.
    12Copyright©2016 NTT corp.All Rights Reserved. =#  CREATE  INDEX  hoge_idx      ON  hoge      USING  gin  (col  gin_bigm_ops);     =#  CREATE  INDEX  hoge_idx      ON  hoge      USING  gin  (col  gin_bigm_ops)    WITH  (FASTUPDATE  =  on/off);   インデックスを作成する
  • 13.
    13Copyright©2016 NTT corp.All Rights Reserved. FASTUPDATE   オプション 検索索 更更新 ON △   (劣化する可能性あり) ○ OFF ○ × FASTUPDATEオプションとは? •  GINインデックスの(弱点である)更更新を⾼高速化するオ プション •  デフォルトはON •  オンラインでON/OFFの変更更が可能
  • 14.
    14Copyright©2016 NTT corp.All Rights Reserved. • work_̲mem •  増やすと検索索性能に効く • maintenance_̲work_̲mem •  増やすとインデックス構築性能(更更新ではない)に効く • gin_̲pending_̲list_̲limit(9.5~∼) •  FASTUPDATEオプションをONにしているときのみ利利⽤用可能。 •  増やすと更更新性能に効く。ただし、副作⽤用として検索索性能が 落落ちる。 全⽂文検索索に関連する設定パラメータ
  • 15.
    15Copyright©2016 NTT corp.All Rights Reserved. 便便利利なTIPS
  • 16.
    16Copyright©2016 NTT corp.All Rights Reserved.       SELECT  *  FROM  hoge   WHERE  col  LIKE  ‘%全⽂文検索索%’;       アンダースコア(_)      :    任意の⼀一⽂文字   パーセント(%)      :    0⽂文字以上の並び   ※上記の⽂文字を検索索したいときはバックスラッシュ()でエスケープする 全⽂文検索索クエリを書く
  • 17.
    17Copyright©2016 NTT corp.All Rights Reserved. WHERE  col  LIKE  likequery(ʻ‘pg_̲bigmで検索索ʼ’); || WHERE  col  LIKE  ʻ‘%pg_̲bigmで検索索%ʼ’; likequery()を使う
  • 18.
    18Copyright©2016 NTT corp.All Rights Reserved. =#  CREATE  TABLE  jb  (col  jsonb);   =#  INSERT  INTO  jb  VALUES    (‘{“title”  :  “全⽂文検索索勉強会”}’);   =#  SELECT  *  FROM  jb;                              col   -­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐    {"title":  "全⽂文検索索勉強会"}   (1  row) PostgreSQLのJSONB型
  • 19.
    19Copyright©2016 NTT corp.All Rights Reserved. JSONB型と⼀一緒に使う {       “Htle”      :  “MySQLとPostgreSQLと⽇日本語全⽂文検索索2”,       “date”      :  2016-­‐06-­‐09,       “desc”      :  “MySQLとPostgreSQLの⽇日本語全⽂文検索索を知っている⼈人向けの勉強会”,       “url”            :  “hXps://groonga.doorkeeper.jp/events/41770”       “hashtag”  :  “#mypgd”,       “venue”  :  {                “name”  :  “DMM.comラボ”,              “address”  :  “渋⾕谷区恵⽐比寿4-­‐20-­‐3  恵⽐比寿ガーデンプレイスタワー21F”                        }   }  
  • 20.
    20Copyright©2016 NTT corp.All Rights Reserved. JSONB型と⼀一緒に使う CREATE INDEX jb_idx on jb using gin(col); {       “Htle”      :  “MySQLとPostgreSQLと⽇日本語全⽂文検索索2”,       “date”      :  2016-­‐06-­‐09,       “desc”      :  “MySQLとPostgreSQLの⽇日本語全⽂文検索索を知っている⼈人向けの勉強会”,       “url”            :  “hXps://groonga.doorkeeper.jp/events/41770”       “hashtag”  :  “#mypgd”,       “venue”  :  {                “name”  :  “DMM.comラボ”,              “address”  :  “渋⾕谷区恵⽐比寿4-­‐20-­‐3  恵⽐比寿ガーデンプレイスタワー21F”                        }   }  
  • 21.
    21Copyright©2016 NTT corp.All Rights Reserved. JSONB型と⼀一緒に使う CREATE INDEX bigm_idx on jb using gin((col->>’desc’) gin_bigm_ops); {       “Htle”      :  “MySQLとPostgreSQLと⽇日本語全⽂文検索索2”,       “date”      :  2016-­‐06-­‐09,       “desc”      :  “MySQLとPostgreSQLの⽇日本語全⽂文検索索を知っている⼈人向けの勉強会”,       “url”            :  “hXps://groonga.doorkeeper.jp/events/41770”       “hashtag”  :  “#mypgd”,       “venue”  :  {                “name”  :  “DMM.comラボ”,              “address”  :  “渋⾕谷区恵⽐比寿4-­‐20-­‐3  恵⽐比寿ガーデンプレイスタワー21F”                        }   }  
  • 22.
    22Copyright©2016 NTT corp.All Rights Reserved. {       “Htle”      :  “MySQLとPostgreSQLと⽇日本語全⽂文検索索2”,       “date”      :  2016-­‐06-­‐09,       “desc”      :  “MySQLとPostgreSQLの⽇日本語全⽂文検索索を知っている⼈人向けの勉強会”,       “url”            :  “hXps://groonga.doorkeeper.jp/events/41770”       “hashtag”  :  “#mypgd”,       “venue”  :  {                “name”  :  “DMM.comラボ”,              “address”  :  “渋⾕谷区恵⽐比寿4-­‐20-­‐3  恵⽐比寿ガーデンプレイスタワー21F”                        }   }   JSONB型と⼀一緒に使う WHERE  (col-‐‑‒>>ʼ’descʼ’)  LIKE  ʻ‘%⽇日本語全⽂文検索索%ʼ’; CREATE  INDEX  bigm_̲idx  on  jb  using  gin((col-‐‑‒>>ʼ’descʼ’)  gin_̲bigm_̲ops);
  • 23.
    23Copyright©2016 NTT corp.All Rights Reserved. {       “Htle”      :  “MySQLとPostgreSQLと⽇日本語全⽂文検索索2”,       “date”      :  2016-­‐06-­‐09,       “desc”      :  “MySQLとPostgreSQLの⽇日本語全⽂文検索索を知っている⼈人向けの勉強会”,       “url”            :  “hXps://groonga.doorkeeper.jp/events/41770”       “hashtag”  :  “#mypgd”,       “venue”  :  {                “name”  :  “DMM.comラボ”,              “address”  :  “渋⾕谷区恵⽐比寿4-­‐20-­‐3  恵⽐比寿ガーデンプレイスタワー21F”                        }   }   JSONB型と⼀一緒に使う CREATE  INDEX  bigm_̲idx  on  jb  using  gin((col-‐‑‒>ʼ’venueʼ’-‐‑‒>>ʼ’addressʼ’)   gin_̲bigm_̲ops);
  • 24.
    24Copyright©2016 NTT corp.All Rights Reserved. {       “Htle”      :  “MySQLとPostgreSQLと⽇日本語全⽂文検索索2”,       “date”      :  2016-­‐06-­‐09,       “desc”      :  “MySQLとPostgreSQLの⽇日本語全⽂文検索索を知っている⼈人向けの勉強会”,       “url”            :  “hXps://groonga.doorkeeper.jp/events/41770”       “hashtag”  :  “#mypgd”,       “venue”  :  {                “name”  :  “DMM.comラボ”,              “address”  :  “渋⾕谷区恵⽐比寿4-­‐20-­‐3  恵⽐比寿ガーデンプレイスタワー21F”                        }   }   JSONB型と⼀一緒に使う WHERE  (col-‐‑‒>ʼ’venueʼ’-‐‑‒>>ʼ’addressʼ’)  LIKE  ʻ‘%渋⾕谷%ʼ’; CREATE  INDEX  bigm_̲idx  on  jb  using  gin((col-‐‑‒>ʼ’venueʼ’-‐‑‒>>ʼ’addressʼ’)   gin_̲bigm_̲ops);
  • 25.
    25Copyright©2016 NTT corp.All Rights Reserved. 1.  pg_̲bigmの特徴 •  9.4以降降がおすすめ •  レプリケーション対応 •  得意/苦⼿手な全⽂文検索索 2.  関連するパラメータ・オプション •  FASTUPDATEオプション •  各種チューニングパラメータ 3.  便便利利なTIPS •  likequery()関数 •  JSONBと⼀一緒に使う まとめ
  • 26.
    26Copyright©2016 NTT corp.All Rights Reserved. ご清聴ありがとうございました