[Groonga-commit] pgroonga/pgroonga.github.io at 6e8a9a8 [master] Add benchmark for PGroonga and pg_bigm

Back to archive index

Kouhei Sutou null+****@clear*****
Sat Nov 19 01:02:08 JST 2016


Kouhei Sutou	2016-11-19 01:02:08 +0900 (Sat, 19 Nov 2016)

  New Revision: 6e8a9a85fc2c4f68cade283b3c77d61f8526914b
  https://github.com/pgroonga/pgroonga.github.io/commit/6e8a9a85fc2c4f68cade283b3c77d61f8526914b

  Message:
    Add benchmark for PGroonga and pg_bigm

  Added files:
    _po/ja/reference/pgroonga-versus-pg-bigm.po
    data/pgroonga-pg-bigm/index-creation.gnuplot
    data/pgroonga-pg-bigm/index-creation.tsv
    data/pgroonga-pg-bigm/index-size.gnuplot
    data/pgroonga-pg-bigm/index-size.tsv
    data/pgroonga-pg-bigm/search.gnuplot
    data/pgroonga-pg-bigm/search.tsv
    images/pgroonga-pg-bigm/index-creation.svg
    images/pgroonga-pg-bigm/index-size.svg
    images/pgroonga-pg-bigm/search-without-groonga.svg
    images/pgroonga-pg-bigm/search-without-pg-bigm.svg
    images/pgroonga-pg-bigm/search.svg
    ja/reference/pgroonga-versus-pg-bigm.md
    reference/pgroonga-versus-pg-bigm.md

  Added: _po/ja/reference/pgroonga-versus-pg-bigm.po (+417 -0) 100644
===================================================================
--- /dev/null
+++ _po/ja/reference/pgroonga-versus-pg-bigm.po    2016-11-19 01:02:08 +0900 (33ffd12)
@@ -0,0 +1,417 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"PO-Revision-Date: 2016-11-19 01:00+0900\n"
+"Language: ja\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+msgid ""
+"---\n"
+"title: PGroonga versus pg_bigm\n"
+"---"
+msgstr ""
+"---\n"
+"title: PGroonga対pg_bigm\n"
+"---"
+
+msgid "# PGroonga versus pg\\_bigm"
+msgstr "# PGroonga対pg\\_bigm"
+
+msgid ""
+"PostgreSQL doesn't support full text search for non alphabet based languages s"
+"uch as Asian languages including Japanese, Chinese and Korean by default. Ther"
+"e are some third party modules to support Asian languages. PGroonga is one of "
+"them. [pg\\_bigm](http://pgbigm.osdn.jp/index_en.html) is another module. There"
+" are some textsearch parsers such as [zhparser](https://github.com/amutu/zhpar"
+"ser) for Chinese and [textsearch\\_ja (not maintained)](http://textsearch-ja.pr"
+"ojects.pgfoundry.org/textsearch_ja.html) for Japanese."
+msgstr ""
+"PostgreSQLはデフォルトではアルファベットベースではない言語の全文検索をサポートしていません。たとえば、日本語・中国語・韓国語といったアジアの言語の"
+"全文検索をサポートしていません。アジアの言語をサポートしたサードパーティーのモジュールがあります。PGroongaはそのうちのひとつです。他にも[pg\\_b"
+"igm](http://pgbigm.osdn.jp/)というモジュールがあります。textsearchのパーサーもあります。たとえば、[zhparser]"
+"(https://github.com/amutu/zhparser)は中国語用のパーサーで、[textsearch\\_ja(メンテナンスされていません)]"
+"(http://textsearch-ja.projects.pgfoundry.org/textsearch_ja.html)は日本語用のパーサーです。"
+
+msgid ""
+"The pg\\_bigm module is similar to the [pg\\_trgm]({{ site.postgresql_doc_base_u"
+"rl.en }}/pgtrgm.html) module. The pg\\_trgm module doesn't support Asian langua"
+"ges by default but the pg\\_bigm module supports them."
+msgstr ""
+"pg\\_bigmモジュールは[pg\\_trgm]({{ site.postgresql_doc_base_url.ja }}/pgtrgm.html)モジュ"
+"ールと似ています。pg\\_trgmモジュールはデフォルトではアジアの言語をサポートしていませんが、pg\\_bigmはサポートしています。"
+
+msgid "This documents describes about difference between PGroonga and pg\\_bigm."
+msgstr "このドキュメントはPGroongaとpg\\_bigmの違いを説明します。"
+
+msgid "## Characteristics"
+msgstr "## 特徴"
+
+msgid "Here are characteristics of each modules."
+msgstr "各モジュールの特徴は次の通りです。"
+
+msgid "### PGroonga {#pgroonga}"
+msgstr ""
+
+msgid "PGroonga is fast for searching because it doesn't need \"recheck\"."
+msgstr "「recheck」する必要がないのでPGroongaの検索は高速です。"
+
+msgid ""
+"PGroonga is also fast for searching while updating because it doesn't block se"
+"arching while updating. PGroonga doesn't decrease search performance while upd"
+"ating."
+msgstr "PGroongaは更新中の検索をブロックしないので更新中も高速に検索できます。PGroongaは更新中も検索性能を落としません。"
+
+msgid ""
+"PGroonga is also fast for alphabet based languages and Asian languages mixed c"
+"ase. PGroonga uses N-gram based full text search by default. It's similar to p"
+"g\\_bigm because pg\\_bigm uses 2-gram (N is 2 case of N-gram). But PGroonga use"
+"s variable size N-gram. N-gram is slower for alphabet based languages because "
+"the number of letter types are few in alphabet. It's about 26 (\"a\" to \"z\" and "
+"more). Posting list in inverted index will be longer when the number of letter"
+" types are few. (If you're not familiar with inverted index, you may not under"
+"stand this description.) See also [PGroonga versus textsearch and pg\\_trgm](pg"
+"roonga-versus-textsearch-and-pg-trgm.html). You can find pg\\_trgm that uses N-"
+"gram based full text search is slower. PGroonga uses word based full text sear"
+"ch instead of N-gram based full text search for alphabet based languages even "
+"if the target text mixes alphabet based languages and Asian languages such as "
+"\"私はPostgreSQLユーザーです。\"."
+msgstr ""
+"PGroongaはアルファベットベースの言語とアジアの言語が混ざっている場合も高速です。PGroongaはデフォルトでN-gramベースの全文検索を使います"
+"。これはpg\\_bigmと似ています。なぜなら、pg\\_bigmは2-gram(N-gramのNが2のケース)を使っているからです。しかし、PGroonga"
+"は可変長サイズのN-gramを使っています。N-gramはアルファベットベースの言語では遅くなりがちです。これは、アルファベットの字種が少ないからです。字種"
+"はだいたい26(「a」から「z」までと他にいくつか)になります。字種が少ないと転置インデックスのポスティングリストが長くなりがちです。(転置インデックスに詳"
+"しくないとこの説明はピンとこないかもしれません。)[PGroonga対textsearch対pg\\_trgm](pgroonga-versus-textse"
+"arch-and-pg-trgm.html)も参照してください。N-gramベースの全文検索であるpg\\_trgmが遅めなのがわかります。PGroongaは"
+"「私はPostgreSQLユーザーです。」というようにアルファベットベースの言語とアジアの言語が混ざっているときでもアルファベットベースの言語にはN-gra"
+"mベースの全文検索ではなく単語ベースの全文検索を使います。"
+
+msgid "PGroonga is also fast for updating."
+msgstr "PGroongaは更新も高速です。"
+
+msgid ""
+"PGroonga index is large because it keeps index target text that is already sto"
+"red in PostgreSQL."
+msgstr "PGroongaはPostgreSQLに保存しているインデックス対象のテキストも保存しているのでインデックスサイズは大きいです。"
+
+msgid ""
+"PGroonga index isn't crash safe. You need to run [`REINDEX`]({{ site.postgresq"
+"l_doc_base_url.en }}/sql-reindex.html) when your PGroonga index is broken by c"
+"rash."
+msgstr ""
+"PGroongaのインデックスはクラッシュセーフではありません。もし、クラッシュしてPGroongaのインデックスが壊れた場合は[`REINDEX`]({{"
+" site.postgresql_doc_base_url.ja }}/sql-reindex.html)を実行する必要があります。"
+
+msgid "### The pg\\_bigm module {#pg-bigm}"
+msgstr "### pg\\_bigmモジュール {#pg-bigm}"
+
+msgid "The pg\\_bigm module is crash safe because it uses GIN. GIN is crash safe."
+msgstr "pg\\_bigmモジュールはクラッシュセーフです。なぜならGINを使っているからです。GINはクラッシュセーフです。"
+
+msgid ""
+"The pg\\_bigm module is slow when many documents are matched and each document "
+"is long. Because pg\\_bigm need \"recheck\" after index search."
+msgstr ""
+"pg\\_bigmモジュールは大量のドキュメントがマッチして各ドキュメントが長い場合は遅いです。なぜならpg\\_bigmはインデックスを使った検索の後に「re"
+"check」する必要があるからです。"
+
+msgid "### Summary {#summary}"
+msgstr "### 概要 {#summary}"
+
+msgid ""
+"Module     | Supported languages | Search  | Update  | Size\n"
+"---------- | --------------------| ------- | ------- | -------\n"
+"PGroonga   | All                 | Faster  | Faster  | Larger\n"
+"pg\\_bigm   | All                 | Slower  | Slower  | Smaller"
+msgstr ""
+"モジュール  | サポートしている言語 | 検索 | 更新 | インデックスサイズ\n"
+"---------- | -------------------- | ---- | ---- | ----------------\n"
+"PGroonga   | 全言語               | 速い | 速い | 大きい\n"
+"pg\\_bigm   | 全言語               | 遅い | 遅い | 小さい"
+
+msgid "## Benchmark {#benchmark}"
+msgstr "## ベンチマーク {#benchmark}"
+
+msgid ""
+"This section shows benchmark result against Japanese Wikipedia. You can find b"
+"enchmark script at https://github.com/groonga/wikipedia-search/blob/master/ben"
+"chmark/centos7/postgresql.sh ."
+msgstr ""
+"このセクションでは日本語版Wikipediaを使ったベンチマーク結果を示します。ベンチマークスクリプトは https://github.com/groong"
+"a/wikipedia-search/blob/master/benchmark/centos7/postgresql.sh にあります。"
+
+msgid "### Summary"
+msgstr "### 概要"
+
+msgid "Here is the summary of full text search index creation benchmark result:"
+msgstr "以下は全文検索インデックス作成のベンチマーク結果の概要です。"
+
+msgid "  * PGroonga is the fastest module."
+msgstr "  * PGroongaが一番速いモジュールです。"
+
+msgid "  * pg\\_bigm is about 73% slower than PGroonga."
+msgstr "  * pg\\_bigmはPGroongaよりも約73%遅いです。"
+
+msgid "![Index creation time](../images/pgroonga-pg-bigm/index-creation.svg)"
+msgstr "![インデックス作成時間](../../images/pgroonga-pg-bigm/index-creation.svg)"
+
+msgid "Here is the summary of full text search index size benchmark result:"
+msgstr "以下は全文検索インデックスのサイズのベンチマーク結果の概要です。"
+
+msgid "  * pg\\_bigm is the smallest module."
+msgstr "  * pg\\_bigmが一番小さいモジュールです。"
+
+msgid "  * PGroonga is about 2.3 times larger than pg\\_bigm."
+msgstr "  * PGroongaはpg\\_bigmよりも約2.3倍大きいです。"
+
+msgid "![Index size](../images/pgroonga-pg-bigm/index-size.svg)"
+msgstr "![インデックスサイズ](../../images/pgroonga-pg-bigm/index-size.svg)"
+
+msgid "Here is the summary of full text search performance benchmark result:"
+msgstr "以下は全文検索性能のベンチマーク結果の概要です。"
+
+msgid ""
+"  * Full text search performance by pg\\_bigm is about 50 times slower than oth"
+"er modules expect \"日本\" (two characters case)."
+msgstr "  * pg\\_bigmの全文検索性能は他のモジュールよりも約50倍遅いです。ただし、「日本」(クエリーが2文字のケース)は遅くありません。"
+
+msgid ""
+"  * Full text search performances of PGroonga and Groonga are similar expect \""
+"日本\" (many hit records case)."
+msgstr "  * PGroongaとGroongaの全文検索性能は似ています。ただし、「日本」(ヒット数が多いケース)ではGroongaの方が10倍高速です。"
+
+msgid "![Full text search performance](../images/pgroonga-pg-bigm/search.svg)"
+msgstr "![全文検索性能](../../images/pgroonga-pg-bigm/search.svg)"
+
+msgid ""
+"Here is the full text search performance graph without pg\\_bigm because pg\\_bi"
+"gm is about 50 times slower than other modules:"
+msgstr "以下はpg\\_bigmが他のモジュールより約50倍遅いのでpg\\_bigmを除いた全文検索性能のグラフです。"
+
+msgid ""
+"![Full text search performance without pg\\_bigm](../images/pgroonga-pg-bigm/se"
+"arch-without-pg-bigm.svg)"
+msgstr ""
+"![pg\\_bigmを除いた全文検索性能](../../images/pgroonga-pg-bigm/search-without-pg-bigm.svg"
+")"
+
+msgid "### Environment"
+msgstr "### 環境"
+
+msgid "Here is the benchmark environment:"
+msgstr "以下はベンチマーク環境です。"
+
+msgid ""
+"CPU     | Intel(R) Xeon(R) CPU E5-2660 v3****@2***** (24cores)\n"
+"Memory  | 32GiB\n"
+"Swap    | 2GiB\n"
+"Storage | SSD (500GB)\n"
+"OS      | CentOS 7.2"
+msgstr ""
+"CPU        | Intel(R) Xeon(R) CPU E5-2660 v3****@2***** (24cores)\n"
+"メモリー   | 32GiB\n"
+"スワップ   | 2GiB\n"
+"ストレージ | SSD (500GB)\n"
+"OS        | CentOS 7.2"
+
+msgid "### Version"
+msgstr "### バージョン"
+
+msgid "Here are the software versions:"
+msgstr "以下はソフトウェアのバージョンです。"
+
+msgid ""
+"PostgreSQL | PGroonga | pg\\_bigm\n"
+"---------- | -------- | ------------\n"
+"9.6.1      | 1.1.9    | 1.2-20161011"
+msgstr ""
+
+msgid "### Data"
+msgstr "### データ"
+
+msgid "Here are statistics of the target data:"
+msgstr "以下は対象データの統計情報です。"
+
+msgid ""
+"Size                                | About 5.9GiB\n"
+"The number of records               | About 900thousands\n"
+"The average of title length in byte | About 21.6B\n"
+"The max title length in byte        | 250B\n"
+"The average of body length in byte  | About 6.7KiB\n"
+"The max body length in byte         | About 677KiB"
+msgstr ""
+"サイズ                | 約5.9GiB\n"
+"レコード数            | 約90万件\n"
+"タイトルの平均バイト数 | 約21.6B\n"
+"タイトルの最大バイト数 | 250B\n"
+"本文の平均バイト数     | 約6.7KiB\n"
+"本文の最大バイト数     | 約677KiB"
+
+msgid "### Data load"
+msgstr "### データロード"
+
+msgid ""
+"Here is the benchmark result of data load. It's not related with full text sea"
+"rch modules. Because any indexes aren't created yet."
+msgstr "以下はデータロードのベンチマーク結果です。全文検索モジュールには依存しません。なぜならどのインデックスもまだ作られていないからです。"
+
+msgid ""
+"Elapsed time   | Database size\n"
+"-------------- | -------------\n"
+"About 5minutes | About 5GB"
+msgstr ""
+"経過時間 | データベースサイズ\n"
+"-------- | -----------------\n"
+"約5分    | 約5GB"
+
+msgid "Here is the SQL to load data:"
+msgstr "以下はデータをロードするSQLです。"
+
+msgid ""
+"```sql\n"
+"COPY wikipedia FROM 'ja-all-pages.csv' WITH CSV ENCODING 'utf8';\n"
+"```"
+msgstr ""
+
+msgid ""
+"You can download the CSV data at http://packages.groonga.org/tmp/ja-all-pages."
+"csv.xz ."
+msgstr "このCSVデータは http://packages.groonga.org/tmp/ja-all-pages.csv.xz からダウンロードできます。"
+
+msgid "Here is the SQL to define the `wikipedia` table:"
+msgstr "以下は`wikipedia`テーブルを定義するSQLです。"
+
+msgid ""
+"```sql\n"
+"CREATE TABLE wikipedia (\n"
+"  id integer PRIMARY KEY,\n"
+"  title text,\n"
+"  text text\n"
+");\n"
+"```"
+msgstr ""
+
+msgid "### Index creation"
+msgstr "### インデックス作成"
+
+msgid "Here are benchmark results of creating full text search indexes:"
+msgstr "以下は全文検索インデックス作成のベンチマーク結果です。"
+
+msgid ""
+"Module     | Elapsed time    | Index size  | Note\n"
+"---------- | --------------- | ----------- | ---------------------------------"
+"----------------------------------------------------------------------------\n"
+"PGroonga   | About 19minutes | About 9.8GB | PGroonga copies data and creates "
+"index from them. Data are compressed by zlib. Index only size is about 6.4GB.\n"
+"pg\\_bigm   | About 33minutes | About 4.2GB | `maintenance_work_mem` is `2GB`."
+msgstr ""
+"モジュール | 経過時間 | インデックスサイズ | 備考\n"
+"---------- | ------- | ------------------ | ----------------------------------"
+"---------------------------------------------------------------------------\n"
+"PGroonga   | 約19分  | 約9.8GB            | PGroongaはデータをコピーしてそれに対してインデックスを作成します。"
+"データはzlibで圧縮しています。インデックスだけのサイズは約6.4GBです。\n"
+"pg\\_bigm   | 約33分  | 約4.2GB            | `maintenance_work_mem`は`2GB`です。"
+
+msgid "Here is the index definition of PGroonga:"
+msgstr "PGroongaのインデックス定義は以下の通りです。"
+
+msgid ""
+"```sql\n"
+"CREATE INDEX wikipedia_index_pgroonga ON wikipedia\n"
+" USING pgroonga (title, text);\n"
+"```"
+msgstr ""
+
+msgid "Here is the index definition of pg\\_bigm:"
+msgstr "pg\\_bigmのインデックス定義は以下の通りです。"
+
+msgid ""
+"```sql\n"
+"CREATE INDEX wikipedia_index_pg_bigm ON wikipedia\n"
+" USING GIN (title gin_bigm_ops, text gin_bigm_ops);\n"
+"```"
+msgstr ""
+
+msgid "### Full text search"
+msgstr "### 全文検索"
+
+msgid "Here are benchmark results of full text searches."
+msgstr "全文検索のベンチマーク結果は以下の通りです。"
+
+msgid ""
+"  * \"Groonga\" means `pgroonga.command('select ...')` result. See also [`pgroon"
+"ga.command`](functions/pgroonga-command.html)."
+msgstr ""
+"  * 「Groonga」は`pgroonga.command('select ...')`の結果です。[`pgroonga.command`](funct"
+"ions/pgroonga-command.html)も参照してください。"
+
+msgid ""
+"  * \"Relative elapsed time\" is the ratio between the target elapsed time and t"
+"he fastest case elapsed time. Larger means slower."
+msgstr "  * 「相対経過時間」は対象の経過時間と最速のケースの経過時間の比率です。大きいほど遅いです。"
+
+msgid "Query: \"テレビアニメ\""
+msgstr "クエリー:「テレビアニメ」"
+
+msgid ""
+"Module   | Elapsed time | N hits             | Relative elapsed time\n"
+"-------- | ------------ | ------------------ | ---------------------\n"
+"PGroonga | About 65ms   | About 20thousands  | About 1.1\n"
+"Groonga  | About 38ms   | About 20thousands  | 1\n"
+"pg\\_bigm | About 2.8s   | About 20thousands  | About 48"
+msgstr ""
+"モジュール | 経過時間    | ヒット数 | 相対経過時間\n"
+"---------- | ---------- | -------- | -----------\n"
+"PGroonga   | 約65ミリ秒 | 約2万件   | 約1.1\n"
+"Groonga    | 約38ミリ秒 | 約2万件   | 1\n"
+"pg\\_bigm   | 約2.8秒    | 約2万件   | 約4.8"
+
+msgid "Query: \"データベース\""
+msgstr "クエリー:「データベース」"
+
+msgid ""
+"Module   | Elapsed time | N hits            | Relative elapsed time\n"
+"-------- | ------------ | ----------------- | ---------------------\n"
+"PGroonga | About 49ms   | About 15thousands | About 1.6\n"
+"Groonga  | About 31ms   | About 15thousands | 1\n"
+"pg\\_bigm | About 1.3s   | About 15thousands | About 41"
+msgstr ""
+"モジュール | 経過時間    | ヒット数  | 相対経過時間\n"
+"---------- | ---------- | --------- | -----------\n"
+"PGroonga   | 約49ミリ秒 | 約1万5千件 | 約1.6\n"
+"Groonga    | 約31ミリ秒 | 約1万5千件 | 1\n"
+"pg\\_bigm   | 約1.3秒    | 約1万5千件 | 約41"
+
+msgid "Query: \"PostgreSQL OR MySQL\""
+msgstr "クエリー:「PostgreSQL OR MySQL」"
+
+msgid ""
+"Module   | Elapsed time | N hits | Relative elapsed time\n"
+"-------- | ------------ | ------ | ---------------------\n"
+"PGroonga | About 2ms    | 316    | About 2\n"
+"Groonga  | About 1ms    | 316    | 1\n"
+"pg\\_bigm | About 49ms   | 311    | About 49"
+msgstr ""
+"モジュール | 経過時間   | ヒット数 | 相対経過時間\n"
+"---------- | ---------- | ------- | -----------\n"
+"PGroonga   | 約2ミリ秒  | 316件    | 約2\n"
+"Groonga    | 約1ミリ秒  | 316件    | 1\n"
+"pg\\_bigm   | 約49ミリ秒 | 311件    | 約49"
+
+msgid "Query: \"日本\""
+msgstr "クエリー:「日本」"
+
+msgid ""
+"Module   | Elapsed time | N hits             | Relative elapsed time\n"
+"-------- | ------------ | ------------------ | ---------------------\n"
+"PGroonga | About 563ms  | About 530thousands | About 10\n"
+"Groonga  | About 59ms   | About 530thousands | 1\n"
+"pg\\_bigm | About 479ms  | About 530thousands | About 8"
+msgstr ""
+"モジュール | 経過時間     | ヒット数 | 相対経過時間\n"
+"--------- | ------------ | -------- | -----------\n"
+"PGroonga   | 約563ミリ秒 | 約53万件  | 約10\n"
+"Groonga    | 約59ミリ秒  | 約53万件  | 1\n"
+"pg\\_bigm   | 約479ミリ秒 | 約53万件  | 約8"

  Added: data/pgroonga-pg-bigm/index-creation.gnuplot (+43 -0) 100644
===================================================================
--- /dev/null
+++ data/pgroonga-pg-bigm/index-creation.gnuplot    2016-11-19 01:02:08 +0900 (fbc4c00)
@@ -0,0 +1,43 @@
+# set terminal pdfcairo enhanced color transparent rounded
+set terminal svg
+
+set key outside center top horizontal reverse Left samplen 2
+unset border
+set xtics scale 0
+set ytics scale 0
+set grid ytics linewidth 1 linetype -1
+
+set style line 1 lt 1 lc rgbcolor "#3465a4" lw 2.5 pt 7 ps 1
+set style line 2 lt 1 lc rgbcolor "#edd400" lw 2.5 pt 7 ps 1
+set style line 3 lt 1 lc rgbcolor "#888a85" lw 2.5 pt 5 ps 1
+set style line 4 lt 1 lc rgbcolor "#f57900" lw 2.5 pt 5 ps 1
+set style line 5 lt 1 lc rgbcolor "#ad7fa8" lw 2.5 pt 9 ps 1
+set style line 6 lt 1 lc rgbcolor "#4e9a06" lw 2.5 pt 9 ps 1
+set style line 7 lt 1 lc rgbcolor "#ef2929" lw 2.5 pt 1 ps 1
+set style line 8 lt 1 lc rgbcolor "#5c3566" lw 2.5 pt 1 ps 1
+set style line 9 lt 1 lc rgbcolor "#c17d11" lw 2.5 pt 3 ps 1
+set style line 10 lt 1 lc rgbcolor "#dce775" lw 2.5 pt 3 ps 1
+
+set title "Index creation"
+
+set xlabel "Module"
+set ylabel "Elapsed time (minute)\n(Shorter is better)"
+set noxtic
+
+set yrange[0:]
+
+set style data histogram
+set style histogram cluster gap 1
+set style fill solid border -1
+set boxwidth 0.9
+
+set label 1 \
+          "Data: Japanese Wikipedia\nSize: About 5.9GiB\nMax text size: 677KiB" \
+          at 0.375,29.2 left
+set output "index-creation.svg"
+plot "index-creation.tsv" using 1 \
+       title columnheader \
+       linestyle 5, \
+     "index-creation.tsv" using 2 \
+       title columnheader \
+       linestyle 1

  Added: data/pgroonga-pg-bigm/index-creation.tsv (+2 -0) 100644
===================================================================
--- /dev/null
+++ data/pgroonga-pg-bigm/index-creation.tsv    2016-11-19 01:02:08 +0900 (001718b)
@@ -0,0 +1,2 @@
+PGroonga	pg\\_bigm
+19	33

  Added: data/pgroonga-pg-bigm/index-size.gnuplot (+49 -0) 100644
===================================================================
--- /dev/null
+++ data/pgroonga-pg-bigm/index-size.gnuplot    2016-11-19 01:02:08 +0900 (c9110d6)
@@ -0,0 +1,49 @@
+# set terminal pdfcairo enhanced color transparent rounded
+set terminal svg
+
+set key outside center top horizontal reverse Left samplen 2
+unset border
+set xtics scale 0
+set ytics scale 0
+set grid ytics linewidth 1 linetype -1
+
+set style line 1 lt 1 lc rgbcolor "#3465a4" lw 2.5 pt 7 ps 1
+set style line 2 lt 1 lc rgbcolor "#edd400" lw 2.5 pt 7 ps 1
+set style line 3 lt 1 lc rgbcolor "#888a85" lw 2.5 pt 5 ps 1
+set style line 4 lt 1 lc rgbcolor "#f57900" lw 2.5 pt 5 ps 1
+set style line 5 lt 1 lc rgbcolor "#ad7fa8" lw 2.5 pt 9 ps 1
+set style line 6 lt 1 lc rgbcolor "#4e9a06" lw 2.5 pt 9 ps 1
+set style line 7 lt 1 lc rgbcolor "#ef2929" lw 2.5 pt 1 ps 1
+set style line 8 lt 1 lc rgbcolor "#5c3566" lw 2.5 pt 1 ps 1
+set style line 9 lt 1 lc rgbcolor "#c17d11" lw 2.5 pt 3 ps 1
+set style line 10 lt 1 lc rgbcolor "#dce775" lw 2.5 pt 3 ps 1
+
+set title "Index size"
+
+set xlabel "Module"
+set ylabel "Size (GB)\n(Shorter is better)"
+set noxtic
+
+set yrange[0:]
+
+set style data histogram
+set style histogram cluster gap 1
+set style fill solid border -1
+set boxwidth 0.9
+
+set label 1 \
+          "Data: Japanese Wikipedia" \
+          at 0.375,7.5 left
+set label 2 \
+          "Size: About 5.9GiB" \
+          at 0.375,6.5 left
+set label 3 \
+          "Max text size: 677KiB" \
+          at 0.375,5.5 left
+set output "index-size.svg"
+plot "index-size.tsv" using 1 \
+       title columnheader \
+       linestyle 5, \
+     "index-size.tsv" using 2 \
+       title columnheader \
+       linestyle 1

  Added: data/pgroonga-pg-bigm/index-size.tsv (+2 -0) 100644
===================================================================
--- /dev/null
+++ data/pgroonga-pg-bigm/index-size.tsv    2016-11-19 01:02:08 +0900 (3d6ba2d)
@@ -0,0 +1,2 @@
+PGroonga	pg\\_bigm
+9.8	4.2

  Added: data/pgroonga-pg-bigm/search.gnuplot (+54 -0) 100644
===================================================================
--- /dev/null
+++ data/pgroonga-pg-bigm/search.gnuplot    2016-11-19 01:02:08 +0900 (a4cb85c)
@@ -0,0 +1,54 @@
+# set terminal pdfcairo enhanced color transparent rounded
+set terminal svg
+
+set key outside center top horizontal reverse Left samplen 2
+unset border
+set xtics scale 0
+set ytics scale 0
+set grid ytics linewidth 1 linetype -1
+
+set style line 1 lt 1 lc rgbcolor "#3465a4" lw 2.5 pt 7 ps 1
+set style line 2 lt 1 lc rgbcolor "#edd400" lw 2.5 pt 7 ps 1
+set style line 3 lt 1 lc rgbcolor "#888a85" lw 2.5 pt 5 ps 1
+set style line 4 lt 1 lc rgbcolor "#f57900" lw 2.5 pt 5 ps 1
+set style line 5 lt 1 lc rgbcolor "#ad7fa8" lw 2.5 pt 9 ps 1
+set style line 6 lt 1 lc rgbcolor "#4e9a06" lw 2.5 pt 9 ps 1
+set style line 7 lt 1 lc rgbcolor "#ef2929" lw 2.5 pt 1 ps 1
+set style line 8 lt 1 lc rgbcolor "#5c3566" lw 2.5 pt 1 ps 1
+set style line 9 lt 1 lc rgbcolor "#c17d11" lw 2.5 pt 3 ps 1
+set style line 10 lt 1 lc rgbcolor "#dce775" lw 2.5 pt 3 ps 1
+
+set xlabel "\n\nQuery"
+set ylabel "Elapsed time (ms)\n(Shorter is better)"
+
+set style data histogram
+set style histogram cluster gap 1
+set style fill solid border -1
+set boxwidth 0.9
+
+set output "search.svg"
+plot "search.tsv" using 2:xtic(1) \
+       title columnheader \
+       linestyle 5, \
+     "search.tsv" using 3:xtic(1) \
+       title columnheader \
+       linestyle 2, \
+     "search.tsv" using 4:xtic(1) \
+       title columnheader \
+       linestyle 1
+
+set output "search-without-groonga.svg"
+plot "search.tsv" using 2:xtic(1) \
+       title columnheader \
+       linestyle 5, \
+     "search.tsv" using 4:xtic(1) \
+       title columnheader \
+       linestyle 1
+
+set output "search-without-pg-bigm.svg"
+plot "search.tsv" using 2:xtic(1) \
+       title columnheader \
+       linestyle 5, \
+     "search.tsv" using 3:xtic(1) \
+       title columnheader \
+       linestyle 2

  Added: data/pgroonga-pg-bigm/search.tsv (+5 -0) 100644
===================================================================
--- /dev/null
+++ data/pgroonga-pg-bigm/search.tsv    2016-11-19 01:02:08 +0900 (8d5c919)
@@ -0,0 +1,5 @@
+Query	PGroonga	Groonga	pg\\_bigm
+テレビアニメ	65	38	2800
+データベース	49	31	1300
+"PostgreSQL\nOR\nMySQL"	2	1	49
+日本	563	59	479

  Added: images/pgroonga-pg-bigm/index-creation.svg (+197 -0) 100644
===================================================================
--- /dev/null
+++ images/pgroonga-pg-bigm/index-creation.svg    2016-11-19 01:02:08 +0900 (54631dd)
@@ -0,0 +1,197 @@
+<?xml version="1.0" encoding="utf-8"  standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg 
+ width="600" height="480"
+ viewBox="0 0 600 480"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+>
+
+<title>Gnuplot</title>
+<desc>Produced by GNUPLOT 5.0 patchlevel 5 </desc>
+
+<g id="gnuplot_canvas">
+
+<rect x="0" y="0" width="600" height="480" fill="none"/>
+<defs>
+
+	<circle id='gpDot' r='0.5' stroke-width='0.5'/>
+	<path id='gpPt0' stroke-width='0.222' stroke='currentColor' d='M-1,0 h2 M0,-1 v2'/>
+	<path id='gpPt1' stroke-width='0.222' stroke='currentColor' d='M-1,-1 L1,1 M1,-1 L-1,1'/>
+	<path id='gpPt2' stroke-width='0.222' stroke='currentColor' d='M-1,0 L1,0 M0,-1 L0,1 M-1,-1 L1,1 M-1,1 L1,-1'/>
+	<rect id='gpPt3' stroke-width='0.222' stroke='currentColor' x='-1' y='-1' width='2' height='2'/>
+	<rect id='gpPt4' stroke-width='0.222' stroke='currentColor' fill='currentColor' x='-1' y='-1' width='2' height='2'/>
+	<circle id='gpPt5' stroke-width='0.222' stroke='currentColor' cx='0' cy='0' r='1'/>
+	<use xlink:href='#gpPt5' id='gpPt6' fill='currentColor' stroke='none'/>
+	<path id='gpPt7' stroke-width='0.222' stroke='currentColor' d='M0,-1.33 L-1.33,0.67 L1.33,0.67 z'/>
+	<use xlink:href='#gpPt7' id='gpPt8' fill='currentColor' stroke='none'/>
+	<use xlink:href='#gpPt7' id='gpPt9' stroke='currentColor' transform='rotate(180)'/>
+	<use xlink:href='#gpPt9' id='gpPt10' fill='currentColor' stroke='none'/>
+	<use xlink:href='#gpPt3' id='gpPt11' stroke='currentColor' transform='rotate(45)'/>
+	<use xlink:href='#gpPt11' id='gpPt12' fill='currentColor' stroke='none'/>
+	<path id='gpPt13' stroke-width='0.222' stroke='currentColor' d='M0,1.330 L1.265,0.411 L0.782,-1.067 L-0.782,-1.076 L-1.265,0.411 z'/>
+	<use xlink:href='#gpPt13' id='gpPt14' fill='currentColor' stroke='none'/>
+	<filter id='textbox' filterUnits='objectBoundingBox' x='0' y='0' height='1' width='1'>
+	  <feFlood flood-color='white' flood-opacity='1' result='bgnd'/>
+	  <feComposite in='SourceGraphic' in2='bgnd' operator='atop'/>
+	</filter>
+	<filter id='greybox' filterUnits='objectBoundingBox' x='0' y='0' height='1' width='1'>
+	  <feFlood flood-color='lightgrey' flood-opacity='1' result='grey'/>
+	  <feComposite in='SourceGraphic' in2='grey' operator='atop'/>
+	</filter>
+</defs>
+<g fill="none" color="white" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+	<path stroke='black' class="gridline"  d='M81.6,449.4 L575.0,449.4  '/></g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+	<path stroke='black'  d='M81.6,449.4 M575.0,449.4  '/>	<g transform="translate(73.3,453.3)" stroke="none" fill="black" font-family="Arial" font-size="12.00"  text-anchor="end">
+		<text><tspan font-family="Arial" > 0</tspan></text>
+	</g>
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+	<path stroke='black' class="gridline"  d='M81.6,395.5 L575.0,395.5  '/></g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+	<path stroke='black'  d='M81.6,395.5 M575.0,395.5  '/>	<g transform="translate(73.3,399.4)" stroke="none" fill="black" font-family="Arial" font-size="12.00"  text-anchor="end">
+		<text><tspan font-family="Arial" > 5</tspan></text>
+	</g>
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+	<path stroke='black' class="gridline"  d='M81.6,341.6 L575.0,341.6  '/></g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+	<path stroke='black'  d='M81.6,341.6 M575.0,341.6  '/>	<g transform="translate(73.3,345.5)" stroke="none" fill="black" font-family="Arial" font-size="12.00"  text-anchor="end">
+		<text><tspan font-family="Arial" > 10</tspan></text>
+	</g>
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+	<path stroke='black' class="gridline"  d='M81.6,287.7 L575.0,287.7  '/></g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+	<path stroke='black'  d='M81.6,287.7 M575.0,287.7  '/>	<g transform="translate(73.3,291.6)" stroke="none" fill="black" font-family="Arial" font-size="12.00"  text-anchor="end">
+		<text><tspan font-family="Arial" > 15</tspan></text>
+	</g>
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+	<path stroke='black' class="gridline"  d='M81.6,233.8 L575.0,233.8  '/></g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+	<path stroke='black'  d='M81.6,233.8 M575.0,233.8  '/>	<g transform="translate(73.3,237.7)" stroke="none" fill="black" font-family="Arial" font-size="12.00"  text-anchor="end">
+		<text><tspan font-family="Arial" > 20</tspan></text>
+	</g>
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+	<path stroke='black' class="gridline"  d='M81.6,179.9 L575.0,179.9  '/></g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+	<path stroke='black'  d='M81.6,179.9 M575.0,179.9  '/>	<g transform="translate(73.3,183.8)" stroke="none" fill="black" font-family="Arial" font-size="12.00"  text-anchor="end">
+		<text><tspan font-family="Arial" > 25</tspan></text>
+	</g>
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+	<path stroke='black' class="gridline"  d='M81.6,126.0 L575.0,126.0  '/></g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+	<path stroke='black'  d='M81.6,126.0 M575.0,126.0  '/>	<g transform="translate(73.3,129.9)" stroke="none" fill="black" font-family="Arial" font-size="12.00"  text-anchor="end">
+		<text><tspan font-family="Arial" > 30</tspan></text>
+	</g>
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+	<path stroke='black' class="gridline"  d='M81.6,72.1 L575.0,72.1  '/></g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+	<path stroke='black'  d='M81.6,72.1 M575.0,72.1  '/>	<g transform="translate(73.3,76.0)" stroke="none" fill="black" font-family="Arial" font-size="12.00"  text-anchor="end">
+		<text><tspan font-family="Arial" > 35</tspan></text>
+	</g>
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+	<g transform="translate(420.8,138.5)" stroke="none" fill="black" font-family="Arial" font-size="12.00"  text-anchor="start">
+		<text><tspan font-family="Arial" >Data: Japanese Wikipedia</tspan></text>
+	</g>
+	<g transform="translate(420.8,156.5)" stroke="none" fill="black" font-family="Arial" font-size="12.00"  text-anchor="start">
+		<text><tspan font-family="Arial" >Size: About 5.9GiB</tspan></text>
+	</g>
+	<g transform="translate(420.8,174.5)" stroke="none" fill="black" font-family="Arial" font-size="12.00"  text-anchor="start">
+		<text><tspan font-family="Arial" >Max text size: 677KiB</tspan></text>
+	</g>
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+	<g transform="translate(17.0,260.8) rotate(270)" stroke="none" fill="black" font-family="Arial" font-size="12.00"  text-anchor="middle">
+		<text><tspan font-family="Arial" >Elapsed time (minute)</tspan></text>
+	</g>
+	<g transform="translate(35.0,260.8) rotate(270)" stroke="none" fill="black" font-family="Arial" font-size="12.00"  text-anchor="middle">
+		<text><tspan font-family="Arial" >(Shorter is better)</tspan></text>
+	</g>
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+	<g transform="translate(328.3,471.3)" stroke="none" fill="black" font-family="Arial" font-size="12.00"  text-anchor="middle">
+		<text><tspan font-family="Arial" >Module</tspan></text>
+	</g>
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+	<g transform="translate(328.3,49.0)" stroke="none" fill="black" font-family="Arial" font-size="12.00"  text-anchor="middle">
+		<text><tspan font-family="Arial" >Index creation</tspan></text>
+	</g>
+</g>
+	<g id="gnuplot_plot_1" ><title>PGroonga</title>
+<g fill="none" color="white" stroke="black" stroke-width="2.50" stroke-linecap="butt" stroke-linejoin="miter">
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="2.50" stroke-linecap="butt" stroke-linejoin="miter">
+	<g transform="translate(261.9,21.9)" stroke="none" fill="black" font-family="Arial" font-size="12.00"  text-anchor="start">
+		<text><tspan font-family="Arial" >PGroonga</tspan></text>
+	</g>
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="2.50" stroke-linecap="butt" stroke-linejoin="miter">
+	<g stroke='none' shape-rendering='crispEdges'>
+		<polygon fill = 'rgb(173, 127, 168)' points = '228.0,22.5 253.6,22.5 253.6,13.5 228.0,13.5 '/>
+	</g>
+	<path stroke='black'  d='M228.0,22.5 L253.6,22.5 L253.6,13.5 L228.0,13.5 L228.0,22.5 Z  '/></g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="2.50" stroke-linecap="butt" stroke-linejoin="miter">
+	<g stroke='none' shape-rendering='crispEdges'>
+		<polygon fill = 'rgb(173, 127, 168)' points = '250.2,449.4 324.3,449.4 324.3,244.5 250.2,244.5 '/>
+	</g>
+	<path stroke='black'  d='M250.2,449.4 L250.2,244.6 L324.2,244.6 L324.2,449.4 L250.2,449.4 Z  '/></g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="2.50" stroke-linecap="butt" stroke-linejoin="miter">
+</g>
+	</g>
+	<g id="gnuplot_plot_2" ><title>pg_bigm</title>
+<g fill="none" color="black" stroke="currentColor" stroke-width="2.50" stroke-linecap="butt" stroke-linejoin="miter">
+	<g transform="translate(370.5,21.9)" stroke="none" fill="black" font-family="Arial" font-size="12.00"  text-anchor="start">
+		<text><tspan font-family="Arial" >pg_bigm</tspan></text>
+	</g>
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="2.50" stroke-linecap="butt" stroke-linejoin="miter">
+	<g stroke='none' shape-rendering='crispEdges'>
+		<polygon fill = 'rgb( 52, 101, 164)' points = '336.6,22.5 362.2,22.5 362.2,13.5 336.6,13.5 '/>
+	</g>
+	<path stroke='black'  d='M336.6,22.5 L362.2,22.5 L362.2,13.5 L336.6,13.5 L336.6,22.5 Z  '/></g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="2.50" stroke-linecap="butt" stroke-linejoin="miter">
+	<g stroke='none' shape-rendering='crispEdges'>
+		<polygon fill = 'rgb( 52, 101, 164)' points = '332.4,449.4 406.5,449.4 406.5,93.6 332.4,93.6 '/>
+	</g>
+	<path stroke='black'  d='M332.4,449.4 L332.4,93.7 L406.4,93.7 L406.4,449.4 L332.4,449.4 Z  '/></g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="2.50" stroke-linecap="butt" stroke-linejoin="miter">
+</g>
+	</g>
+<g fill="none" color="white" stroke="rgb( 52, 101, 164)" stroke-width="2.00" stroke-linecap="butt" stroke-linejoin="miter">
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="2.00" stroke-linecap="butt" stroke-linejoin="miter">
+</g>
+<g fill="none" color="black" stroke="black" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+</g>
+</g>
+</svg>
+

  Added: images/pgroonga-pg-bigm/index-size.svg (+224 -0) 100644
===================================================================
--- /dev/null
+++ images/pgroonga-pg-bigm/index-size.svg    2016-11-19 01:02:08 +0900 (65d4197)
@@ -0,0 +1,224 @@
+<?xml version="1.0" encoding="utf-8"  standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg 
+ width="600" height="480"
+ viewBox="0 0 600 480"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+>
+
+<title>Gnuplot</title>
+<desc>Produced by GNUPLOT 5.0 patchlevel 5 </desc>
+
+<g id="gnuplot_canvas">
+
+<rect x="0" y="0" width="600" height="480" fill="none"/>
+<defs>
+
+	<circle id='gpDot' r='0.5' stroke-width='0.5'/>
+	<path id='gpPt0' stroke-width='0.222' stroke='currentColor' d='M-1,0 h2 M0,-1 v2'/>
+	<path id='gpPt1' stroke-width='0.222' stroke='currentColor' d='M-1,-1 L1,1 M1,-1 L-1,1'/>
+	<path id='gpPt2' stroke-width='0.222' stroke='currentColor' d='M-1,0 L1,0 M0,-1 L0,1 M-1,-1 L1,1 M-1,1 L1,-1'/>
+	<rect id='gpPt3' stroke-width='0.222' stroke='currentColor' x='-1' y='-1' width='2' height='2'/>
+	<rect id='gpPt4' stroke-width='0.222' stroke='currentColor' fill='currentColor' x='-1' y='-1' width='2' height='2'/>
+	<circle id='gpPt5' stroke-width='0.222' stroke='currentColor' cx='0' cy='0' r='1'/>
+	<use xlink:href='#gpPt5' id='gpPt6' fill='currentColor' stroke='none'/>
+	<path id='gpPt7' stroke-width='0.222' stroke='currentColor' d='M0,-1.33 L-1.33,0.67 L1.33,0.67 z'/>
+	<use xlink:href='#gpPt7' id='gpPt8' fill='currentColor' stroke='none'/>
+	<use xlink:href='#gpPt7' id='gpPt9' stroke='currentColor' transform='rotate(180)'/>
+	<use xlink:href='#gpPt9' id='gpPt10' fill='currentColor' stroke='none'/>
+	<use xlink:href='#gpPt3' id='gpPt11' stroke='currentColor' transform='rotate(45)'/>
+	<use xlink:href='#gpPt11' id='gpPt12' fill='currentColor' stroke='none'/>
+	<path id='gpPt13' stroke-width='0.222' stroke='currentColor' d='M0,1.330 L1.265,0.411 L0.782,-1.067 L-0.782,-1.076 L-1.265,0.411 z'/>
+	<use xlink:href='#gpPt13' id='gpPt14' fill='currentColor' stroke='none'/>
+	<filter id='textbox' filterUnits='objectBoundingBox' x='0' y='0' height='1' width='1'>
+	  <feFlood flood-color='white' flood-opacity='1' result='bgnd'/>
+	  <feComposite in='SourceGraphic' in2='bgnd' operator='atop'/>
+	</filter>
+	<filter id='greybox' filterUnits='objectBoundingBox' x='0' y='0' height='1' width='1'>
+	  <feFlood flood-color='lightgrey' flood-opacity='1' result='grey'/>
+	  <feComposite in='SourceGraphic' in2='grey' operator='atop'/>
+	</filter>
+</defs>
+<g fill="none" color="white" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+	<path stroke='black' class="gridline"  d='M81.6,449.4 L575.0,449.4  '/></g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+	<path stroke='black'  d='M81.6,449.4 M575.0,449.4  '/>	<g transform="translate(73.3,453.3)" stroke="none" fill="black" font-family="Arial" font-size="12.00"  text-anchor="end">
+		<text><tspan font-family="Arial" > 0</tspan></text>
+	</g>
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+	<path stroke='black' class="gridline"  d='M81.6,411.7 L575.0,411.7  '/></g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+	<path stroke='black'  d='M81.6,411.7 M575.0,411.7  '/>	<g transform="translate(73.3,415.6)" stroke="none" fill="black" font-family="Arial" font-size="12.00"  text-anchor="end">
+		<text><tspan font-family="Arial" > 1</tspan></text>
+	</g>
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+	<path stroke='black' class="gridline"  d='M81.6,373.9 L575.0,373.9  '/></g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+	<path stroke='black'  d='M81.6,373.9 M575.0,373.9  '/>	<g transform="translate(73.3,377.8)" stroke="none" fill="black" font-family="Arial" font-size="12.00"  text-anchor="end">
+		<text><tspan font-family="Arial" > 2</tspan></text>
+	</g>
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+	<path stroke='black' class="gridline"  d='M81.6,336.2 L575.0,336.2  '/></g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+	<path stroke='black'  d='M81.6,336.2 M575.0,336.2  '/>	<g transform="translate(73.3,340.1)" stroke="none" fill="black" font-family="Arial" font-size="12.00"  text-anchor="end">
+		<text><tspan font-family="Arial" > 3</tspan></text>
+	</g>
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+	<path stroke='black' class="gridline"  d='M81.6,298.5 L575.0,298.5  '/></g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+	<path stroke='black'  d='M81.6,298.5 M575.0,298.5  '/>	<g transform="translate(73.3,302.4)" stroke="none" fill="black" font-family="Arial" font-size="12.00"  text-anchor="end">
+		<text><tspan font-family="Arial" > 4</tspan></text>
+	</g>
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+	<path stroke='black' class="gridline"  d='M81.6,260.7 L575.0,260.7  '/></g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+	<path stroke='black'  d='M81.6,260.7 M575.0,260.7  '/>	<g transform="translate(73.3,264.6)" stroke="none" fill="black" font-family="Arial" font-size="12.00"  text-anchor="end">
+		<text><tspan font-family="Arial" > 5</tspan></text>
+	</g>
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+	<path stroke='black' class="gridline"  d='M81.6,223.0 L575.0,223.0  '/></g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+	<path stroke='black'  d='M81.6,223.0 M575.0,223.0  '/>	<g transform="translate(73.3,226.9)" stroke="none" fill="black" font-family="Arial" font-size="12.00"  text-anchor="end">
+		<text><tspan font-family="Arial" > 6</tspan></text>
+	</g>
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+	<path stroke='black' class="gridline"  d='M81.6,185.3 L575.0,185.3  '/></g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+	<path stroke='black'  d='M81.6,185.3 M575.0,185.3  '/>	<g transform="translate(73.3,189.2)" stroke="none" fill="black" font-family="Arial" font-size="12.00"  text-anchor="end">
+		<text><tspan font-family="Arial" > 7</tspan></text>
+	</g>
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+	<path stroke='black' class="gridline"  d='M81.6,147.6 L575.0,147.6  '/></g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+	<path stroke='black'  d='M81.6,147.6 M575.0,147.6  '/>	<g transform="translate(73.3,151.5)" stroke="none" fill="black" font-family="Arial" font-size="12.00"  text-anchor="end">
+		<text><tspan font-family="Arial" > 8</tspan></text>
+	</g>
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+	<path stroke='black' class="gridline"  d='M81.6,109.8 L575.0,109.8  '/></g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+	<path stroke='black'  d='M81.6,109.8 M575.0,109.8  '/>	<g transform="translate(73.3,113.7)" stroke="none" fill="black" font-family="Arial" font-size="12.00"  text-anchor="end">
+		<text><tspan font-family="Arial" > 9</tspan></text>
+	</g>
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+	<path stroke='black' class="gridline"  d='M81.6,72.1 L575.0,72.1  '/></g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+	<path stroke='black'  d='M81.6,72.1 M575.0,72.1  '/>	<g transform="translate(73.3,76.0)" stroke="none" fill="black" font-family="Arial" font-size="12.00"  text-anchor="end">
+		<text><tspan font-family="Arial" > 10</tspan></text>
+	</g>
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+	<g transform="translate(420.8,170.3)" stroke="none" fill="black" font-family="Arial" font-size="12.00"  text-anchor="start">
+		<text><tspan font-family="Arial" >Data: Japanese Wikipedia</tspan></text>
+	</g>
+	<g transform="translate(420.8,208.1)" stroke="none" fill="black" font-family="Arial" font-size="12.00"  text-anchor="start">
+		<text><tspan font-family="Arial" >Size: About 5.9GiB</tspan></text>
+	</g>
+	<g transform="translate(420.8,245.8)" stroke="none" fill="black" font-family="Arial" font-size="12.00"  text-anchor="start">
+		<text><tspan font-family="Arial" >Max text size: 677KiB</tspan></text>
+	</g>
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+	<g transform="translate(17.0,260.8) rotate(270)" stroke="none" fill="black" font-family="Arial" font-size="12.00"  text-anchor="middle">
+		<text><tspan font-family="Arial" >Size (GB)</tspan></text>
+	</g>
+	<g transform="translate(35.0,260.8) rotate(270)" stroke="none" fill="black" font-family="Arial" font-size="12.00"  text-anchor="middle">
+		<text><tspan font-family="Arial" >(Shorter is better)</tspan></text>
+	</g>
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+	<g transform="translate(328.3,471.3)" stroke="none" fill="black" font-family="Arial" font-size="12.00"  text-anchor="middle">
+		<text><tspan font-family="Arial" >Module</tspan></text>
+	</g>
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+	<g transform="translate(328.3,49.0)" stroke="none" fill="black" font-family="Arial" font-size="12.00"  text-anchor="middle">
+		<text><tspan font-family="Arial" >Index size</tspan></text>
+	</g>
+</g>
+	<g id="gnuplot_plot_1" ><title>PGroonga</title>
+<g fill="none" color="white" stroke="black" stroke-width="2.50" stroke-linecap="butt" stroke-linejoin="miter">
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="2.50" stroke-linecap="butt" stroke-linejoin="miter">
+	<g transform="translate(261.9,21.9)" stroke="none" fill="black" font-family="Arial" font-size="12.00"  text-anchor="start">
+		<text><tspan font-family="Arial" >PGroonga</tspan></text>
+	</g>
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="2.50" stroke-linecap="butt" stroke-linejoin="miter">
+	<g stroke='none' shape-rendering='crispEdges'>
+		<polygon fill = 'rgb(173, 127, 168)' points = '228.0,22.5 253.6,22.5 253.6,13.5 228.0,13.5 '/>
+	</g>
+	<path stroke='black'  d='M228.0,22.5 L253.6,22.5 L253.6,13.5 L228.0,13.5 L228.0,22.5 Z  '/></g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="2.50" stroke-linecap="butt" stroke-linejoin="miter">
+	<g stroke='none' shape-rendering='crispEdges'>
+		<polygon fill = 'rgb(173, 127, 168)' points = '250.2,449.4 324.3,449.4 324.3,79.5 250.2,79.5 '/>
+	</g>
+	<path stroke='black'  d='M250.2,449.4 L250.2,79.6 L324.2,79.6 L324.2,449.4 L250.2,449.4 Z  '/></g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="2.50" stroke-linecap="butt" stroke-linejoin="miter">
+</g>
+	</g>
+	<g id="gnuplot_plot_2" ><title>pg_bigm</title>
+<g fill="none" color="black" stroke="currentColor" stroke-width="2.50" stroke-linecap="butt" stroke-linejoin="miter">
+	<g transform="translate(370.5,21.9)" stroke="none" fill="black" font-family="Arial" font-size="12.00"  text-anchor="start">
+		<text><tspan font-family="Arial" >pg_bigm</tspan></text>
+	</g>
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="2.50" stroke-linecap="butt" stroke-linejoin="miter">
+	<g stroke='none' shape-rendering='crispEdges'>
+		<polygon fill = 'rgb( 52, 101, 164)' points = '336.6,22.5 362.2,22.5 362.2,13.5 336.6,13.5 '/>
+	</g>
+	<path stroke='black'  d='M336.6,22.5 L362.2,22.5 L362.2,13.5 L336.6,13.5 L336.6,22.5 Z  '/></g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="2.50" stroke-linecap="butt" stroke-linejoin="miter">
+	<g stroke='none' shape-rendering='crispEdges'>
+		<polygon fill = 'rgb( 52, 101, 164)' points = '332.4,449.4 406.5,449.4 406.5,290.8 332.4,290.8 '/>
+	</g>
+	<path stroke='black'  d='M332.4,449.4 L332.4,290.9 L406.4,290.9 L406.4,449.4 L332.4,449.4 Z  '/></g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="2.50" stroke-linecap="butt" stroke-linejoin="miter">
+</g>
+	</g>
+<g fill="none" color="white" stroke="rgb( 52, 101, 164)" stroke-width="2.00" stroke-linecap="butt" stroke-linejoin="miter">
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="2.00" stroke-linecap="butt" stroke-linejoin="miter">
+</g>
+<g fill="none" color="black" stroke="black" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+</g>
+</g>
+</svg>
+

  Added: images/pgroonga-pg-bigm/search-without-groonga.svg (+238 -0) 100644
===================================================================
--- /dev/null
+++ images/pgroonga-pg-bigm/search-without-groonga.svg    2016-11-19 01:02:08 +0900 (555a497)
@@ -0,0 +1,238 @@
+<?xml version="1.0" encoding="utf-8"  standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg 
+ width="600" height="480"
+ viewBox="0 0 600 480"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+>
+
+<title>Gnuplot</title>
+<desc>Produced by GNUPLOT 5.0 patchlevel 5 </desc>
+
+<g id="gnuplot_canvas">
+
+<rect x="0" y="0" width="600" height="480" fill="none"/>
+<defs>
+
+	<circle id='gpDot' r='0.5' stroke-width='0.5'/>
+	<path id='gpPt0' stroke-width='0.222' stroke='currentColor' d='M-1,0 h2 M0,-1 v2'/>
+	<path id='gpPt1' stroke-width='0.222' stroke='currentColor' d='M-1,-1 L1,1 M1,-1 L-1,1'/>
+	<path id='gpPt2' stroke-width='0.222' stroke='currentColor' d='M-1,0 L1,0 M0,-1 L0,1 M-1,-1 L1,1 M-1,1 L1,-1'/>
+	<rect id='gpPt3' stroke-width='0.222' stroke='currentColor' x='-1' y='-1' width='2' height='2'/>
+	<rect id='gpPt4' stroke-width='0.222' stroke='currentColor' fill='currentColor' x='-1' y='-1' width='2' height='2'/>
+	<circle id='gpPt5' stroke-width='0.222' stroke='currentColor' cx='0' cy='0' r='1'/>
+	<use xlink:href='#gpPt5' id='gpPt6' fill='currentColor' stroke='none'/>
+	<path id='gpPt7' stroke-width='0.222' stroke='currentColor' d='M0,-1.33 L-1.33,0.67 L1.33,0.67 z'/>
+	<use xlink:href='#gpPt7' id='gpPt8' fill='currentColor' stroke='none'/>
+	<use xlink:href='#gpPt7' id='gpPt9' stroke='currentColor' transform='rotate(180)'/>
+	<use xlink:href='#gpPt9' id='gpPt10' fill='currentColor' stroke='none'/>
+	<use xlink:href='#gpPt3' id='gpPt11' stroke='currentColor' transform='rotate(45)'/>
+	<use xlink:href='#gpPt11' id='gpPt12' fill='currentColor' stroke='none'/>
+	<path id='gpPt13' stroke-width='0.222' stroke='currentColor' d='M0,1.330 L1.265,0.411 L0.782,-1.067 L-0.782,-1.076 L-1.265,0.411 z'/>
+	<use xlink:href='#gpPt13' id='gpPt14' fill='currentColor' stroke='none'/>
+	<filter id='textbox' filterUnits='objectBoundingBox' x='0' y='0' height='1' width='1'>
+	  <feFlood flood-color='white' flood-opacity='1' result='bgnd'/>
+	  <feComposite in='SourceGraphic' in2='bgnd' operator='atop'/>
+	</filter>
+	<filter id='greybox' filterUnits='objectBoundingBox' x='0' y='0' height='1' width='1'>
+	  <feFlood flood-color='lightgrey' flood-opacity='1' result='grey'/>
+	  <feComposite in='SourceGraphic' in2='grey' operator='atop'/>
+	</filter>
+</defs>
+<g fill="none" color="white" stroke="black" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+	<path stroke='black' class="gridline"  d='M98.2,386.4 L575.0,386.4  '/></g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+	<path stroke='black'  d='M98.2,386.4 M575.0,386.4  '/>	<g transform="translate(89.9,390.3)" stroke="none" fill="black" font-family="Arial" font-size="12.00"  text-anchor="end">
+		<text><tspan font-family="Arial" > 0</tspan></text>
+	</g>
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+	<path stroke='black' class="gridline"  d='M98.2,327.8 L575.0,327.8  '/></g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+	<path stroke='black'  d='M98.2,327.8 M575.0,327.8  '/>	<g transform="translate(89.9,331.7)" stroke="none" fill="black" font-family="Arial" font-size="12.00"  text-anchor="end">
+		<text><tspan font-family="Arial" > 500</tspan></text>
+	</g>
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+	<path stroke='black' class="gridline"  d='M98.2,269.2 L575.0,269.2  '/></g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+	<path stroke='black'  d='M98.2,269.2 M575.0,269.2  '/>	<g transform="translate(89.9,273.1)" stroke="none" fill="black" font-family="Arial" font-size="12.00"  text-anchor="end">
+		<text><tspan font-family="Arial" > 1000</tspan></text>
+	</g>
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+	<path stroke='black' class="gridline"  d='M98.2,210.5 L575.0,210.5  '/></g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+	<path stroke='black'  d='M98.2,210.5 M575.0,210.5  '/>	<g transform="translate(89.9,214.4)" stroke="none" fill="black" font-family="Arial" font-size="12.00"  text-anchor="end">
+		<text><tspan font-family="Arial" > 1500</tspan></text>
+	</g>
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+	<path stroke='black' class="gridline"  d='M98.2,151.9 L575.0,151.9  '/></g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+	<path stroke='black'  d='M98.2,151.9 M575.0,151.9  '/>	<g transform="translate(89.9,155.8)" stroke="none" fill="black" font-family="Arial" font-size="12.00"  text-anchor="end">
+		<text><tspan font-family="Arial" > 2000</tspan></text>
+	</g>
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+	<path stroke='black' class="gridline"  d='M98.2,93.3 L575.0,93.3  '/></g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+	<path stroke='black'  d='M98.2,93.3 M575.0,93.3  '/>	<g transform="translate(89.9,97.2)" stroke="none" fill="black" font-family="Arial" font-size="12.00"  text-anchor="end">
+		<text><tspan font-family="Arial" > 2500</tspan></text>
+	</g>
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+	<path stroke='black' class="gridline"  d='M98.2,34.7 L575.0,34.7  '/></g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+	<path stroke='black'  d='M98.2,34.7 M575.0,34.7  '/>	<g transform="translate(89.9,38.6)" stroke="none" fill="black" font-family="Arial" font-size="12.00"  text-anchor="end">
+		<text><tspan font-family="Arial" > 3000</tspan></text>
+	</g>
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+	<path stroke='black'  d='M193.6,386.4 M193.6,34.7  '/>	<g transform="translate(193.6,408.3)" stroke="none" fill="black" font-family="Arial" font-size="12.00"  text-anchor="middle">
+		<text><tspan font-family="Arial" >テレビアニメ</tspan></text>
+	</g>
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+	<path stroke='black'  d='M288.9,386.4 M288.9,34.7  '/>	<g transform="translate(288.9,408.3)" stroke="none" fill="black" font-family="Arial" font-size="12.00"  text-anchor="middle">
+		<text><tspan font-family="Arial" >データベース</tspan></text>
+	</g>
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+	<path stroke='black'  d='M384.3,386.4 M384.3,34.7  '/>	<g transform="translate(384.3,408.3)" stroke="none" fill="black" font-family="Arial" font-size="12.00"  text-anchor="middle">
+		<text><tspan font-family="Arial" >PostgreSQL</tspan></text>
+	</g>
+	<g transform="translate(384.3,426.3)" stroke="none" fill="black" font-family="Arial" font-size="12.00"  text-anchor="middle">
+		<text><tspan font-family="Arial" >OR</tspan></text>
+	</g>
+	<g transform="translate(384.3,444.3)" stroke="none" fill="black" font-family="Arial" font-size="12.00"  text-anchor="middle">
+		<text><tspan font-family="Arial" >MySQL</tspan></text>
+	</g>
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+	<path stroke='black'  d='M479.6,386.4 M479.6,34.7  '/>	<g transform="translate(479.6,408.3)" stroke="none" fill="black" font-family="Arial" font-size="12.00"  text-anchor="middle">
+		<text><tspan font-family="Arial" >日本</tspan></text>
+	</g>
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+	<g transform="translate(17.0,210.6) rotate(270)" stroke="none" fill="black" font-family="Arial" font-size="12.00"  text-anchor="middle">
+		<text><tspan font-family="Arial" >Elapsed time (ms)</tspan></text>
+	</g>
+	<g transform="translate(35.0,210.6) rotate(270)" stroke="none" fill="black" font-family="Arial" font-size="12.00"  text-anchor="middle">
+		<text><tspan font-family="Arial" >(Shorter is better)</tspan></text>
+	</g>
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+	<g transform="translate(336.6,435.3)" stroke="none" fill="black" font-family="Arial" font-size="12.00"  text-anchor="middle">
+		<text></text>
+	</g>
+	<g transform="translate(336.6,453.3)" stroke="none" fill="black" font-family="Arial" font-size="12.00"  text-anchor="middle">
+		<text></text>
+	</g>
+	<g transform="translate(336.6,471.3)" stroke="none" fill="black" font-family="Arial" font-size="12.00"  text-anchor="middle">
+		<text><tspan font-family="Arial" >Query</tspan></text>
+	</g>
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+</g>
+	<g id="gnuplot_plot_1" ><title>PGroonga</title>
+<g fill="none" color="white" stroke="currentColor" stroke-width="2.50" stroke-linecap="butt" stroke-linejoin="miter">
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="2.50" stroke-linecap="butt" stroke-linejoin="miter">
+	<g transform="translate(270.2,21.9)" stroke="none" fill="black" font-family="Arial" font-size="12.00"  text-anchor="start">
+		<text><tspan font-family="Arial" >PGroonga</tspan></text>
+	</g>
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="2.50" stroke-linecap="butt" stroke-linejoin="miter">
+	<g stroke='none' shape-rendering='crispEdges'>
+		<polygon fill = 'rgb(173, 127, 168)' points = '236.3,22.5 261.9,22.5 261.9,13.5 236.3,13.5 '/>
+	</g>
+	<path stroke='black'  d='M236.3,22.5 L261.9,22.5 L261.9,13.5 L236.3,13.5 L236.3,22.5 Z  '/></g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="2.50" stroke-linecap="butt" stroke-linejoin="miter">
+	<g stroke='none' shape-rendering='crispEdges'>
+		<polygon fill = 'rgb(173, 127, 168)' points = '163.4,386.4 192.1,386.4 192.1,378.7 163.4,378.7 '/>
+	</g>
+	<path stroke='black'  d='M163.4,386.4 L163.4,378.8 L192.0,378.8 L192.0,386.4 L163.4,386.4 Z  '/></g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="2.50" stroke-linecap="butt" stroke-linejoin="miter">
+	<g stroke='none' shape-rendering='crispEdges'>
+		<polygon fill = 'rgb(173, 127, 168)' points = '258.7,386.4 287.4,386.4 287.4,380.6 258.7,380.6 '/>
+	</g>
+	<path stroke='black'  d='M258.7,386.4 L258.7,380.7 L287.3,380.7 L287.3,386.4 L258.7,386.4 Z  '/></g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="2.50" stroke-linecap="butt" stroke-linejoin="miter">
+	<g stroke='none' shape-rendering='crispEdges'>
+		<polygon fill = 'rgb(173, 127, 168)' points = '354.1,386.4 382.8,386.4 382.8,386.1 354.1,386.1 '/>
+	</g>
+	<path stroke='black'  d='M354.1,386.4 L354.1,386.2 L382.7,386.2 L382.7,386.4 L354.1,386.4 Z  '/></g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="2.50" stroke-linecap="butt" stroke-linejoin="miter">
+	<g stroke='none' shape-rendering='crispEdges'>
+		<polygon fill = 'rgb(173, 127, 168)' points = '449.4,386.4 478.2,386.4 478.2,320.3 449.4,320.3 '/>
+	</g>
+	<path stroke='black'  d='M449.4,386.4 L449.4,320.4 L478.1,320.4 L478.1,386.4 L449.4,386.4 Z  '/></g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="2.50" stroke-linecap="butt" stroke-linejoin="miter">
+</g>
+	</g>
+	<g id="gnuplot_plot_2" ><title>pg_bigm</title>
+<g fill="none" color="black" stroke="currentColor" stroke-width="2.50" stroke-linecap="butt" stroke-linejoin="miter">
+	<g transform="translate(378.8,21.9)" stroke="none" fill="black" font-family="Arial" font-size="12.00"  text-anchor="start">
+		<text><tspan font-family="Arial" >pg_bigm</tspan></text>
+	</g>
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="2.50" stroke-linecap="butt" stroke-linejoin="miter">
+	<g stroke='none' shape-rendering='crispEdges'>
+		<polygon fill = 'rgb( 52, 101, 164)' points = '344.9,22.5 370.5,22.5 370.5,13.5 344.9,13.5 '/>
+	</g>
+	<path stroke='black'  d='M344.9,22.5 L370.5,22.5 L370.5,13.5 L344.9,13.5 L344.9,22.5 Z  '/></g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="2.50" stroke-linecap="butt" stroke-linejoin="miter">
+	<g stroke='none' shape-rendering='crispEdges'>
+		<polygon fill = 'rgb( 52, 101, 164)' points = '195.1,386.4 223.9,386.4 223.9,58.0 195.1,58.0 '/>
+	</g>
+	<path stroke='black'  d='M195.1,386.4 L195.1,58.1 L223.8,58.1 L223.8,386.4 L195.1,386.4 Z  '/></g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="2.50" stroke-linecap="butt" stroke-linejoin="miter">
+	<g stroke='none' shape-rendering='crispEdges'>
+		<polygon fill = 'rgb( 52, 101, 164)' points = '290.5,386.4 319.2,386.4 319.2,233.9 290.5,233.9 '/>
+	</g>
+	<path stroke='black'  d='M290.5,386.4 L290.5,234.0 L319.1,234.0 L319.1,386.4 L290.5,386.4 Z  '/></g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="2.50" stroke-linecap="butt" stroke-linejoin="miter">
+	<g stroke='none' shape-rendering='crispEdges'>
+		<polygon fill = 'rgb( 52, 101, 164)' points = '385.9,386.4 414.6,386.4 414.6,380.6 385.9,380.6 '/>
+	</g>
+	<path stroke='black'  d='M385.9,386.4 L385.9,380.7 L414.5,380.7 L414.5,386.4 L385.9,386.4 Z  '/></g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="2.50" stroke-linecap="butt" stroke-linejoin="miter">
+	<g stroke='none' shape-rendering='crispEdges'>
+		<polygon fill = 'rgb( 52, 101, 164)' points = '481.2,386.4 509.9,386.4 509.9,330.1 481.2,330.1 '/>
+	</g>
+	<path stroke='black'  d='M481.2,386.4 L481.2,330.2 L509.8,330.2 L509.8,386.4 L481.2,386.4 Z  '/></g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="2.50" stroke-linecap="butt" stroke-linejoin="miter">
+</g>
+	</g>
+<g fill="none" color="white" stroke="rgb( 52, 101, 164)" stroke-width="2.00" stroke-linecap="butt" stroke-linejoin="miter">
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="2.00" stroke-linecap="butt" stroke-linejoin="miter">
+</g>
+<g fill="none" color="black" stroke="black" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+</g>
+</g>
+</svg>
+

  Added: images/pgroonga-pg-bigm/search-without-pg-bigm.svg (+238 -0) 100644
===================================================================
--- /dev/null
+++ images/pgroonga-pg-bigm/search-without-pg-bigm.svg    2016-11-19 01:02:08 +0900 (baa7b66)
@@ -0,0 +1,238 @@
+<?xml version="1.0" encoding="utf-8"  standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg 
+ width="600" height="480"
+ viewBox="0 0 600 480"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+>
+
+<title>Gnuplot</title>
+<desc>Produced by GNUPLOT 5.0 patchlevel 5 </desc>
+
+<g id="gnuplot_canvas">
+
+<rect x="0" y="0" width="600" height="480" fill="none"/>
+<defs>
+
+	<circle id='gpDot' r='0.5' stroke-width='0.5'/>
+	<path id='gpPt0' stroke-width='0.222' stroke='currentColor' d='M-1,0 h2 M0,-1 v2'/>
+	<path id='gpPt1' stroke-width='0.222' stroke='currentColor' d='M-1,-1 L1,1 M1,-1 L-1,1'/>
+	<path id='gpPt2' stroke-width='0.222' stroke='currentColor' d='M-1,0 L1,0 M0,-1 L0,1 M-1,-1 L1,1 M-1,1 L1,-1'/>
+	<rect id='gpPt3' stroke-width='0.222' stroke='currentColor' x='-1' y='-1' width='2' height='2'/>
+	<rect id='gpPt4' stroke-width='0.222' stroke='currentColor' fill='currentColor' x='-1' y='-1' width='2' height='2'/>
+	<circle id='gpPt5' stroke-width='0.222' stroke='currentColor' cx='0' cy='0' r='1'/>
+	<use xlink:href='#gpPt5' id='gpPt6' fill='currentColor' stroke='none'/>
+	<path id='gpPt7' stroke-width='0.222' stroke='currentColor' d='M0,-1.33 L-1.33,0.67 L1.33,0.67 z'/>
+	<use xlink:href='#gpPt7' id='gpPt8' fill='currentColor' stroke='none'/>
+	<use xlink:href='#gpPt7' id='gpPt9' stroke='currentColor' transform='rotate(180)'/>
+	<use xlink:href='#gpPt9' id='gpPt10' fill='currentColor' stroke='none'/>
+	<use xlink:href='#gpPt3' id='gpPt11' stroke='currentColor' transform='rotate(45)'/>
+	<use xlink:href='#gpPt11' id='gpPt12' fill='currentColor' stroke='none'/>
+	<path id='gpPt13' stroke-width='0.222' stroke='currentColor' d='M0,1.330 L1.265,0.411 L0.782,-1.067 L-0.782,-1.076 L-1.265,0.411 z'/>
+	<use xlink:href='#gpPt13' id='gpPt14' fill='currentColor' stroke='none'/>
+	<filter id='textbox' filterUnits='objectBoundingBox' x='0' y='0' height='1' width='1'>
+	  <feFlood flood-color='white' flood-opacity='1' result='bgnd'/>
+	  <feComposite in='SourceGraphic' in2='bgnd' operator='atop'/>
+	</filter>
+	<filter id='greybox' filterUnits='objectBoundingBox' x='0' y='0' height='1' width='1'>
+	  <feFlood flood-color='lightgrey' flood-opacity='1' result='grey'/>
+	  <feComposite in='SourceGraphic' in2='grey' operator='atop'/>
+	</filter>
+</defs>
+<g fill="none" color="white" stroke="black" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+	<path stroke='black' class="gridline"  d='M89.9,386.4 L575.0,386.4  '/></g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+	<path stroke='black'  d='M89.9,386.4 M575.0,386.4  '/>	<g transform="translate(81.6,390.3)" stroke="none" fill="black" font-family="Arial" font-size="12.00"  text-anchor="end">
+		<text><tspan font-family="Arial" > 0</tspan></text>
+	</g>
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+	<path stroke='black' class="gridline"  d='M89.9,327.8 L575.0,327.8  '/></g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+	<path stroke='black'  d='M89.9,327.8 M575.0,327.8  '/>	<g transform="translate(81.6,331.7)" stroke="none" fill="black" font-family="Arial" font-size="12.00"  text-anchor="end">
+		<text><tspan font-family="Arial" > 100</tspan></text>
+	</g>
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+	<path stroke='black' class="gridline"  d='M89.9,269.2 L575.0,269.2  '/></g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+	<path stroke='black'  d='M89.9,269.2 M575.0,269.2  '/>	<g transform="translate(81.6,273.1)" stroke="none" fill="black" font-family="Arial" font-size="12.00"  text-anchor="end">
+		<text><tspan font-family="Arial" > 200</tspan></text>
+	</g>
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+	<path stroke='black' class="gridline"  d='M89.9,210.5 L575.0,210.5  '/></g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+	<path stroke='black'  d='M89.9,210.5 M575.0,210.5  '/>	<g transform="translate(81.6,214.4)" stroke="none" fill="black" font-family="Arial" font-size="12.00"  text-anchor="end">
+		<text><tspan font-family="Arial" > 300</tspan></text>
+	</g>
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+	<path stroke='black' class="gridline"  d='M89.9,151.9 L575.0,151.9  '/></g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+	<path stroke='black'  d='M89.9,151.9 M575.0,151.9  '/>	<g transform="translate(81.6,155.8)" stroke="none" fill="black" font-family="Arial" font-size="12.00"  text-anchor="end">
+		<text><tspan font-family="Arial" > 400</tspan></text>
+	</g>
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+	<path stroke='black' class="gridline"  d='M89.9,93.3 L575.0,93.3  '/></g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+	<path stroke='black'  d='M89.9,93.3 M575.0,93.3  '/>	<g transform="translate(81.6,97.2)" stroke="none" fill="black" font-family="Arial" font-size="12.00"  text-anchor="end">
+		<text><tspan font-family="Arial" > 500</tspan></text>
+	</g>
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+	<path stroke='black' class="gridline"  d='M89.9,34.7 L575.0,34.7  '/></g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+	<path stroke='black'  d='M89.9,34.7 M575.0,34.7  '/>	<g transform="translate(81.6,38.6)" stroke="none" fill="black" font-family="Arial" font-size="12.00"  text-anchor="end">
+		<text><tspan font-family="Arial" > 600</tspan></text>
+	</g>
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+	<path stroke='black'  d='M186.9,386.4 M186.9,34.7  '/>	<g transform="translate(186.9,408.3)" stroke="none" fill="black" font-family="Arial" font-size="12.00"  text-anchor="middle">
+		<text><tspan font-family="Arial" >テレビアニメ</tspan></text>
+	</g>
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+	<path stroke='black'  d='M283.9,386.4 M283.9,34.7  '/>	<g transform="translate(283.9,408.3)" stroke="none" fill="black" font-family="Arial" font-size="12.00"  text-anchor="middle">
+		<text><tspan font-family="Arial" >データベース</tspan></text>
+	</g>
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+	<path stroke='black'  d='M381.0,386.4 M381.0,34.7  '/>	<g transform="translate(381.0,408.3)" stroke="none" fill="black" font-family="Arial" font-size="12.00"  text-anchor="middle">
+		<text><tspan font-family="Arial" >PostgreSQL</tspan></text>
+	</g>
+	<g transform="translate(381.0,426.3)" stroke="none" fill="black" font-family="Arial" font-size="12.00"  text-anchor="middle">
+		<text><tspan font-family="Arial" >OR</tspan></text>
+	</g>
+	<g transform="translate(381.0,444.3)" stroke="none" fill="black" font-family="Arial" font-size="12.00"  text-anchor="middle">
+		<text><tspan font-family="Arial" >MySQL</tspan></text>
+	</g>
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+	<path stroke='black'  d='M478.0,386.4 M478.0,34.7  '/>	<g transform="translate(478.0,408.3)" stroke="none" fill="black" font-family="Arial" font-size="12.00"  text-anchor="middle">
+		<text><tspan font-family="Arial" >日本</tspan></text>
+	</g>
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+	<g transform="translate(17.0,210.6) rotate(270)" stroke="none" fill="black" font-family="Arial" font-size="12.00"  text-anchor="middle">
+		<text><tspan font-family="Arial" >Elapsed time (ms)</tspan></text>
+	</g>
+	<g transform="translate(35.0,210.6) rotate(270)" stroke="none" fill="black" font-family="Arial" font-size="12.00"  text-anchor="middle">
+		<text><tspan font-family="Arial" >(Shorter is better)</tspan></text>
+	</g>
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+	<g transform="translate(332.4,435.3)" stroke="none" fill="black" font-family="Arial" font-size="12.00"  text-anchor="middle">
+		<text></text>
+	</g>
+	<g transform="translate(332.4,453.3)" stroke="none" fill="black" font-family="Arial" font-size="12.00"  text-anchor="middle">
+		<text></text>
+	</g>
+	<g transform="translate(332.4,471.3)" stroke="none" fill="black" font-family="Arial" font-size="12.00"  text-anchor="middle">
+		<text><tspan font-family="Arial" >Query</tspan></text>
+	</g>
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+</g>
+	<g id="gnuplot_plot_1" ><title>PGroonga</title>
+<g fill="none" color="white" stroke="currentColor" stroke-width="2.50" stroke-linecap="butt" stroke-linejoin="miter">
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="2.50" stroke-linecap="butt" stroke-linejoin="miter">
+	<g transform="translate(266.0,21.9)" stroke="none" fill="black" font-family="Arial" font-size="12.00"  text-anchor="start">
+		<text><tspan font-family="Arial" >PGroonga</tspan></text>
+	</g>
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="2.50" stroke-linecap="butt" stroke-linejoin="miter">
+	<g stroke='none' shape-rendering='crispEdges'>
+		<polygon fill = 'rgb(173, 127, 168)' points = '232.1,22.5 257.7,22.5 257.7,13.5 232.1,13.5 '/>
+	</g>
+	<path stroke='black'  d='M232.1,22.5 L257.7,22.5 L257.7,13.5 L232.1,13.5 L232.1,22.5 Z  '/></g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="2.50" stroke-linecap="butt" stroke-linejoin="miter">
+	<g stroke='none' shape-rendering='crispEdges'>
+		<polygon fill = 'rgb(173, 127, 168)' points = '156.2,386.4 185.4,386.4 185.4,348.2 156.2,348.2 '/>
+	</g>
+	<path stroke='black'  d='M156.2,386.4 L156.2,348.3 L185.3,348.3 L185.3,386.4 L156.2,386.4 Z  '/></g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="2.50" stroke-linecap="butt" stroke-linejoin="miter">
+	<g stroke='none' shape-rendering='crispEdges'>
+		<polygon fill = 'rgb(173, 127, 168)' points = '253.2,386.4 282.4,386.4 282.4,357.6 253.2,357.6 '/>
+	</g>
+	<path stroke='black'  d='M253.2,386.4 L253.2,357.7 L282.3,357.7 L282.3,386.4 L253.2,386.4 Z  '/></g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="2.50" stroke-linecap="butt" stroke-linejoin="miter">
+	<g stroke='none' shape-rendering='crispEdges'>
+		<polygon fill = 'rgb(173, 127, 168)' points = '350.2,386.4 379.4,386.4 379.4,385.1 350.2,385.1 '/>
+	</g>
+	<path stroke='black'  d='M350.2,386.4 L350.2,385.2 L379.3,385.2 L379.3,386.4 L350.2,386.4 Z  '/></g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="2.50" stroke-linecap="butt" stroke-linejoin="miter">
+	<g stroke='none' shape-rendering='crispEdges'>
+		<polygon fill = 'rgb(173, 127, 168)' points = '447.3,386.4 476.5,386.4 476.5,56.3 447.3,56.3 '/>
+	</g>
+	<path stroke='black'  d='M447.3,386.4 L447.3,56.4 L476.4,56.4 L476.4,386.4 L447.3,386.4 Z  '/></g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="2.50" stroke-linecap="butt" stroke-linejoin="miter">
+</g>
+	</g>
+	<g id="gnuplot_plot_2" ><title>Groonga</title>
+<g fill="none" color="black" stroke="currentColor" stroke-width="2.50" stroke-linecap="butt" stroke-linejoin="miter">
+	<g transform="translate(374.6,21.9)" stroke="none" fill="black" font-family="Arial" font-size="12.00"  text-anchor="start">
+		<text><tspan font-family="Arial" >Groonga</tspan></text>
+	</g>
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="2.50" stroke-linecap="butt" stroke-linejoin="miter">
+	<g stroke='none' shape-rendering='crispEdges'>
+		<polygon fill = 'rgb(237, 212,   0)' points = '340.7,22.5 366.3,22.5 366.3,13.5 340.7,13.5 '/>
+	</g>
+	<path stroke='black'  d='M340.7,22.5 L366.3,22.5 L366.3,13.5 L340.7,13.5 L340.7,22.5 Z  '/></g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="2.50" stroke-linecap="butt" stroke-linejoin="miter">
+	<g stroke='none' shape-rendering='crispEdges'>
+		<polygon fill = 'rgb(237, 212,   0)' points = '188.5,386.4 217.7,386.4 217.7,364.0 188.5,364.0 '/>
+	</g>
+	<path stroke='black'  d='M188.5,386.4 L188.5,364.1 L217.6,364.1 L217.6,386.4 L188.5,386.4 Z  '/></g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="2.50" stroke-linecap="butt" stroke-linejoin="miter">
+	<g stroke='none' shape-rendering='crispEdges'>
+		<polygon fill = 'rgb(237, 212,   0)' points = '285.6,386.4 314.8,386.4 314.8,368.1 285.6,368.1 '/>
+	</g>
+	<path stroke='black'  d='M285.6,386.4 L285.6,368.2 L314.7,368.2 L314.7,386.4 L285.6,386.4 Z  '/></g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="2.50" stroke-linecap="butt" stroke-linejoin="miter">
+	<g stroke='none' shape-rendering='crispEdges'>
+		<polygon fill = 'rgb(237, 212,   0)' points = '382.6,386.4 411.8,386.4 411.8,385.7 382.6,385.7 '/>
+	</g>
+	<path stroke='black'  d='M382.6,386.4 L382.6,385.8 L411.7,385.8 L411.7,386.4 L382.6,386.4 Z  '/></g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="2.50" stroke-linecap="butt" stroke-linejoin="miter">
+	<g stroke='none' shape-rendering='crispEdges'>
+		<polygon fill = 'rgb(237, 212,   0)' points = '479.6,386.4 508.8,386.4 508.8,351.7 479.6,351.7 '/>
+	</g>
+	<path stroke='black'  d='M479.6,386.4 L479.6,351.8 L508.7,351.8 L508.7,386.4 L479.6,386.4 Z  '/></g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="2.50" stroke-linecap="butt" stroke-linejoin="miter">
+</g>
+	</g>
+<g fill="none" color="white" stroke="rgb(237, 212,   0)" stroke-width="2.00" stroke-linecap="butt" stroke-linejoin="miter">
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="2.00" stroke-linecap="butt" stroke-linejoin="miter">
+</g>
+<g fill="none" color="black" stroke="black" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+</g>
+</g>
+</svg>
+

  Added: images/pgroonga-pg-bigm/search.svg (+272 -0) 100644
===================================================================
--- /dev/null
+++ images/pgroonga-pg-bigm/search.svg    2016-11-19 01:02:08 +0900 (a060d4e)
@@ -0,0 +1,272 @@
+<?xml version="1.0" encoding="utf-8"  standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg 
+ width="600" height="480"
+ viewBox="0 0 600 480"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+>
+
+<title>Gnuplot</title>
+<desc>Produced by GNUPLOT 5.0 patchlevel 5 </desc>
+
+<g id="gnuplot_canvas">
+
+<rect x="0" y="0" width="600" height="480" fill="none"/>
+<defs>
+
+	<circle id='gpDot' r='0.5' stroke-width='0.5'/>
+	<path id='gpPt0' stroke-width='0.222' stroke='currentColor' d='M-1,0 h2 M0,-1 v2'/>
+	<path id='gpPt1' stroke-width='0.222' stroke='currentColor' d='M-1,-1 L1,1 M1,-1 L-1,1'/>
+	<path id='gpPt2' stroke-width='0.222' stroke='currentColor' d='M-1,0 L1,0 M0,-1 L0,1 M-1,-1 L1,1 M-1,1 L1,-1'/>
+	<rect id='gpPt3' stroke-width='0.222' stroke='currentColor' x='-1' y='-1' width='2' height='2'/>
+	<rect id='gpPt4' stroke-width='0.222' stroke='currentColor' fill='currentColor' x='-1' y='-1' width='2' height='2'/>
+	<circle id='gpPt5' stroke-width='0.222' stroke='currentColor' cx='0' cy='0' r='1'/>
+	<use xlink:href='#gpPt5' id='gpPt6' fill='currentColor' stroke='none'/>
+	<path id='gpPt7' stroke-width='0.222' stroke='currentColor' d='M0,-1.33 L-1.33,0.67 L1.33,0.67 z'/>
+	<use xlink:href='#gpPt7' id='gpPt8' fill='currentColor' stroke='none'/>
+	<use xlink:href='#gpPt7' id='gpPt9' stroke='currentColor' transform='rotate(180)'/>
+	<use xlink:href='#gpPt9' id='gpPt10' fill='currentColor' stroke='none'/>
+	<use xlink:href='#gpPt3' id='gpPt11' stroke='currentColor' transform='rotate(45)'/>
+	<use xlink:href='#gpPt11' id='gpPt12' fill='currentColor' stroke='none'/>
+	<path id='gpPt13' stroke-width='0.222' stroke='currentColor' d='M0,1.330 L1.265,0.411 L0.782,-1.067 L-0.782,-1.076 L-1.265,0.411 z'/>
+	<use xlink:href='#gpPt13' id='gpPt14' fill='currentColor' stroke='none'/>
+	<filter id='textbox' filterUnits='objectBoundingBox' x='0' y='0' height='1' width='1'>
+	  <feFlood flood-color='white' flood-opacity='1' result='bgnd'/>
+	  <feComposite in='SourceGraphic' in2='bgnd' operator='atop'/>
+	</filter>
+	<filter id='greybox' filterUnits='objectBoundingBox' x='0' y='0' height='1' width='1'>
+	  <feFlood flood-color='lightgrey' flood-opacity='1' result='grey'/>
+	  <feComposite in='SourceGraphic' in2='grey' operator='atop'/>
+	</filter>
+</defs>
+<g fill="none" color="white" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+	<path stroke='black' class="gridline"  d='M98.2,386.4 L575.0,386.4  '/></g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+	<path stroke='black'  d='M98.2,386.4 M575.0,386.4  '/>	<g transform="translate(89.9,390.3)" stroke="none" fill="black" font-family="Arial" font-size="12.00"  text-anchor="end">
+		<text><tspan font-family="Arial" > 0</tspan></text>
+	</g>
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+	<path stroke='black' class="gridline"  d='M98.2,327.8 L575.0,327.8  '/></g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+	<path stroke='black'  d='M98.2,327.8 M575.0,327.8  '/>	<g transform="translate(89.9,331.7)" stroke="none" fill="black" font-family="Arial" font-size="12.00"  text-anchor="end">
+		<text><tspan font-family="Arial" > 500</tspan></text>
+	</g>
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+	<path stroke='black' class="gridline"  d='M98.2,269.2 L575.0,269.2  '/></g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+	<path stroke='black'  d='M98.2,269.2 M575.0,269.2  '/>	<g transform="translate(89.9,273.1)" stroke="none" fill="black" font-family="Arial" font-size="12.00"  text-anchor="end">
+		<text><tspan font-family="Arial" > 1000</tspan></text>
+	</g>
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+	<path stroke='black' class="gridline"  d='M98.2,210.5 L575.0,210.5  '/></g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+	<path stroke='black'  d='M98.2,210.5 M575.0,210.5  '/>	<g transform="translate(89.9,214.4)" stroke="none" fill="black" font-family="Arial" font-size="12.00"  text-anchor="end">
+		<text><tspan font-family="Arial" > 1500</tspan></text>
+	</g>
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+	<path stroke='black' class="gridline"  d='M98.2,151.9 L575.0,151.9  '/></g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+	<path stroke='black'  d='M98.2,151.9 M575.0,151.9  '/>	<g transform="translate(89.9,155.8)" stroke="none" fill="black" font-family="Arial" font-size="12.00"  text-anchor="end">
+		<text><tspan font-family="Arial" > 2000</tspan></text>
+	</g>
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+	<path stroke='black' class="gridline"  d='M98.2,93.3 L575.0,93.3  '/></g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+	<path stroke='black'  d='M98.2,93.3 M575.0,93.3  '/>	<g transform="translate(89.9,97.2)" stroke="none" fill="black" font-family="Arial" font-size="12.00"  text-anchor="end">
+		<text><tspan font-family="Arial" > 2500</tspan></text>
+	</g>
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+	<path stroke='black' class="gridline"  d='M98.2,34.7 L575.0,34.7  '/></g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+	<path stroke='black'  d='M98.2,34.7 M575.0,34.7  '/>	<g transform="translate(89.9,38.6)" stroke="none" fill="black" font-family="Arial" font-size="12.00"  text-anchor="end">
+		<text><tspan font-family="Arial" > 3000</tspan></text>
+	</g>
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+	<path stroke='black'  d='M193.6,386.4 M193.6,34.7  '/>	<g transform="translate(193.6,408.3)" stroke="none" fill="black" font-family="Arial" font-size="12.00"  text-anchor="middle">
+		<text><tspan font-family="Arial" >テレビアニメ</tspan></text>
+	</g>
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+	<path stroke='black'  d='M288.9,386.4 M288.9,34.7  '/>	<g transform="translate(288.9,408.3)" stroke="none" fill="black" font-family="Arial" font-size="12.00"  text-anchor="middle">
+		<text><tspan font-family="Arial" >データベース</tspan></text>
+	</g>
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+	<path stroke='black'  d='M384.3,386.4 M384.3,34.7  '/>	<g transform="translate(384.3,408.3)" stroke="none" fill="black" font-family="Arial" font-size="12.00"  text-anchor="middle">
+		<text><tspan font-family="Arial" >PostgreSQL</tspan></text>
+	</g>
+	<g transform="translate(384.3,426.3)" stroke="none" fill="black" font-family="Arial" font-size="12.00"  text-anchor="middle">
+		<text><tspan font-family="Arial" >OR</tspan></text>
+	</g>
+	<g transform="translate(384.3,444.3)" stroke="none" fill="black" font-family="Arial" font-size="12.00"  text-anchor="middle">
+		<text><tspan font-family="Arial" >MySQL</tspan></text>
+	</g>
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+	<path stroke='black'  d='M479.6,386.4 M479.6,34.7  '/>	<g transform="translate(479.6,408.3)" stroke="none" fill="black" font-family="Arial" font-size="12.00"  text-anchor="middle">
+		<text><tspan font-family="Arial" >日本</tspan></text>
+	</g>
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+	<g transform="translate(17.0,210.6) rotate(270)" stroke="none" fill="black" font-family="Arial" font-size="12.00"  text-anchor="middle">
+		<text><tspan font-family="Arial" >Elapsed time (ms)</tspan></text>
+	</g>
+	<g transform="translate(35.0,210.6) rotate(270)" stroke="none" fill="black" font-family="Arial" font-size="12.00"  text-anchor="middle">
+		<text><tspan font-family="Arial" >(Shorter is better)</tspan></text>
+	</g>
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+	<g transform="translate(336.6,435.3)" stroke="none" fill="black" font-family="Arial" font-size="12.00"  text-anchor="middle">
+		<text></text>
+	</g>
+	<g transform="translate(336.6,453.3)" stroke="none" fill="black" font-family="Arial" font-size="12.00"  text-anchor="middle">
+		<text></text>
+	</g>
+	<g transform="translate(336.6,471.3)" stroke="none" fill="black" font-family="Arial" font-size="12.00"  text-anchor="middle">
+		<text><tspan font-family="Arial" >Query</tspan></text>
+	</g>
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+</g>
+	<g id="gnuplot_plot_1" ><title>PGroonga</title>
+<g fill="none" color="white" stroke="currentColor" stroke-width="2.50" stroke-linecap="butt" stroke-linejoin="miter">
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="2.50" stroke-linecap="butt" stroke-linejoin="miter">
+	<g transform="translate(215.9,21.9)" stroke="none" fill="black" font-family="Arial" font-size="12.00"  text-anchor="start">
+		<text><tspan font-family="Arial" >PGroonga</tspan></text>
+	</g>
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="2.50" stroke-linecap="butt" stroke-linejoin="miter">
+	<g stroke='none' shape-rendering='crispEdges'>
+		<polygon fill = 'rgb(173, 127, 168)' points = '182.0,22.5 207.6,22.5 207.6,13.5 182.0,13.5 '/>
+	</g>
+	<path stroke='black'  d='M182.0,22.5 L207.6,22.5 L207.6,13.5 L182.0,13.5 L182.0,22.5 Z  '/></g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="2.50" stroke-linecap="butt" stroke-linejoin="miter">
+	<g stroke='none' shape-rendering='crispEdges'>
+		<polygon fill = 'rgb(173, 127, 168)' points = '159.0,386.4 180.5,386.4 180.5,378.7 159.0,378.7 '/>
+	</g>
+	<path stroke='black'  d='M159.0,386.4 L159.0,378.8 L180.4,378.8 L180.4,386.4 L159.0,386.4 Z  '/></g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="2.50" stroke-linecap="butt" stroke-linejoin="miter">
+	<g stroke='none' shape-rendering='crispEdges'>
+		<polygon fill = 'rgb(173, 127, 168)' points = '254.4,386.4 275.9,386.4 275.9,380.6 254.4,380.6 '/>
+	</g>
+	<path stroke='black'  d='M254.4,386.4 L254.4,380.7 L275.8,380.7 L275.8,386.4 L254.4,386.4 Z  '/></g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="2.50" stroke-linecap="butt" stroke-linejoin="miter">
+	<g stroke='none' shape-rendering='crispEdges'>
+		<polygon fill = 'rgb(173, 127, 168)' points = '349.7,386.4 371.3,386.4 371.3,386.1 349.7,386.1 '/>
+	</g>
+	<path stroke='black'  d='M349.7,386.4 L349.7,386.2 L371.2,386.2 L371.2,386.4 L349.7,386.4 Z  '/></g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="2.50" stroke-linecap="butt" stroke-linejoin="miter">
+	<g stroke='none' shape-rendering='crispEdges'>
+		<polygon fill = 'rgb(173, 127, 168)' points = '445.1,386.4 466.6,386.4 466.6,320.3 445.1,320.3 '/>
+	</g>
+	<path stroke='black'  d='M445.1,386.4 L445.1,320.4 L466.5,320.4 L466.5,386.4 L445.1,386.4 Z  '/></g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="2.50" stroke-linecap="butt" stroke-linejoin="miter">
+</g>
+	</g>
+	<g id="gnuplot_plot_2" ><title>Groonga</title>
+<g fill="none" color="black" stroke="currentColor" stroke-width="2.50" stroke-linecap="butt" stroke-linejoin="miter">
+	<g transform="translate(324.5,21.9)" stroke="none" fill="black" font-family="Arial" font-size="12.00"  text-anchor="start">
+		<text><tspan font-family="Arial" >Groonga</tspan></text>
+	</g>
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="2.50" stroke-linecap="butt" stroke-linejoin="miter">
+	<g stroke='none' shape-rendering='crispEdges'>
+		<polygon fill = 'rgb(237, 212,   0)' points = '290.6,22.5 316.2,22.5 316.2,13.5 290.6,13.5 '/>
+	</g>
+	<path stroke='black'  d='M290.6,22.5 L316.2,22.5 L316.2,13.5 L290.6,13.5 L290.6,22.5 Z  '/></g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="2.50" stroke-linecap="butt" stroke-linejoin="miter">
+	<g stroke='none' shape-rendering='crispEdges'>
+		<polygon fill = 'rgb(237, 212,   0)' points = '182.8,386.4 204.4,386.4 204.4,381.8 182.8,381.8 '/>
+	</g>
+	<path stroke='black'  d='M182.8,386.4 L182.8,381.9 L204.3,381.9 L204.3,386.4 L182.8,386.4 Z  '/></g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="2.50" stroke-linecap="butt" stroke-linejoin="miter">
+	<g stroke='none' shape-rendering='crispEdges'>
+		<polygon fill = 'rgb(237, 212,   0)' points = '278.2,386.4 299.7,386.4 299.7,382.7 278.2,382.7 '/>
+	</g>
+	<path stroke='black'  d='M278.2,386.4 L278.2,382.8 L299.6,382.8 L299.6,386.4 L278.2,386.4 Z  '/></g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="2.50" stroke-linecap="butt" stroke-linejoin="miter">
+	<g stroke='none' shape-rendering='crispEdges'>
+		<polygon fill = 'rgb(237, 212,   0)' points = '373.6,386.4 395.1,386.4 395.1,386.2 373.6,386.2 '/>
+	</g>
+	<path stroke='black'  d='M373.6,386.4 L373.6,386.3 L395.0,386.3 L395.0,386.4 L373.6,386.4 Z  '/></g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="2.50" stroke-linecap="butt" stroke-linejoin="miter">
+	<g stroke='none' shape-rendering='crispEdges'>
+		<polygon fill = 'rgb(237, 212,   0)' points = '468.9,386.4 490.5,386.4 490.5,379.4 468.9,379.4 '/>
+	</g>
+	<path stroke='black'  d='M468.9,386.4 L468.9,379.5 L490.4,379.5 L490.4,386.4 L468.9,386.4 Z  '/></g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="2.50" stroke-linecap="butt" stroke-linejoin="miter">
+</g>
+	</g>
+	<g id="gnuplot_plot_3" ><title>pg_bigm</title>
+<g fill="none" color="black" stroke="currentColor" stroke-width="2.50" stroke-linecap="butt" stroke-linejoin="miter">
+	<g transform="translate(433.1,21.9)" stroke="none" fill="black" font-family="Arial" font-size="12.00"  text-anchor="start">
+		<text><tspan font-family="Arial" >pg_bigm</tspan></text>
+	</g>
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="2.50" stroke-linecap="butt" stroke-linejoin="miter">
+	<g stroke='none' shape-rendering='crispEdges'>
+		<polygon fill = 'rgb( 52, 101, 164)' points = '399.2,22.5 424.8,22.5 424.8,13.5 399.2,13.5 '/>
+	</g>
+	<path stroke='black'  d='M399.2,22.5 L424.8,22.5 L424.8,13.5 L399.2,13.5 L399.2,22.5 Z  '/></g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="2.50" stroke-linecap="butt" stroke-linejoin="miter">
+	<g stroke='none' shape-rendering='crispEdges'>
+		<polygon fill = 'rgb( 52, 101, 164)' points = '206.7,386.4 228.2,386.4 228.2,58.0 206.7,58.0 '/>
+	</g>
+	<path stroke='black'  d='M206.7,386.4 L206.7,58.1 L228.1,58.1 L228.1,386.4 L206.7,386.4 Z  '/></g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="2.50" stroke-linecap="butt" stroke-linejoin="miter">
+	<g stroke='none' shape-rendering='crispEdges'>
+		<polygon fill = 'rgb( 52, 101, 164)' points = '302.0,386.4 323.6,386.4 323.6,233.9 302.0,233.9 '/>
+	</g>
+	<path stroke='black'  d='M302.0,386.4 L302.0,234.0 L323.5,234.0 L323.5,386.4 L302.0,386.4 Z  '/></g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="2.50" stroke-linecap="butt" stroke-linejoin="miter">
+	<g stroke='none' shape-rendering='crispEdges'>
+		<polygon fill = 'rgb( 52, 101, 164)' points = '397.4,386.4 418.9,386.4 418.9,380.6 397.4,380.6 '/>
+	</g>
+	<path stroke='black'  d='M397.4,386.4 L397.4,380.7 L418.8,380.7 L418.8,386.4 L397.4,386.4 Z  '/></g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="2.50" stroke-linecap="butt" stroke-linejoin="miter">
+	<g stroke='none' shape-rendering='crispEdges'>
+		<polygon fill = 'rgb( 52, 101, 164)' points = '492.8,386.4 514.3,386.4 514.3,330.1 492.8,330.1 '/>
+	</g>
+	<path stroke='black'  d='M492.8,386.4 L492.8,330.2 L514.2,330.2 L514.2,386.4 L492.8,386.4 Z  '/></g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="2.50" stroke-linecap="butt" stroke-linejoin="miter">
+</g>
+	</g>
+<g fill="none" color="white" stroke="rgb( 52, 101, 164)" stroke-width="2.00" stroke-linecap="butt" stroke-linejoin="miter">
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="2.00" stroke-linecap="butt" stroke-linejoin="miter">
+</g>
+<g fill="none" color="black" stroke="black" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+</g>
+<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter">
+</g>
+</g>
+</svg>
+

  Added: ja/reference/pgroonga-versus-pg-bigm.md (+195 -0) 100644
===================================================================
--- /dev/null
+++ ja/reference/pgroonga-versus-pg-bigm.md    2016-11-19 01:02:08 +0900 (8e877d0)
@@ -0,0 +1,195 @@
+---
+title: PGroonga対pg_bigm
+---
+
+# PGroonga対pg\_bigm
+
+PostgreSQLはデフォルトではアルファベットベースではない言語の全文検索をサポートしていません。たとえば、日本語・中国語・韓国語といったアジアの言語の全文検索をサポートしていません。アジアの言語をサポートしたサードパーティーのモジュールがあります。PGroongaはそのうちのひとつです。他にも[pg\_bigm](http://pgbigm.osdn.jp/)というモジュールがあります。textsearchのパーサーもあります。たとえば、[zhparser](https://github.com/amutu/zhparser)は中国語用のパーサーで、[textsearch\_ja(メンテナンスされていません)](http://textsearch-ja.projects.pgfoundry.org/textsearch_ja.html)は日本語用のパーサーです。
+
+pg\_bigmモジュールは[pg\_trgm]({{ site.postgresql_doc_base_url.ja }}/pgtrgm.html)モジュールと似ています。pg\_trgmモジュールはデフォルトではアジアの言語をサポートしていませんが、pg\_bigmはサポートしています。
+
+このドキュメントはPGroongaとpg\_bigmの違いを説明します。
+
+## 特徴
+
+各モジュールの特徴は次の通りです。
+
+### PGroonga {#pgroonga}
+
+「recheck」する必要がないのでPGroongaの検索は高速です。
+
+PGroongaは更新中の検索をブロックしないので更新中も高速に検索できます。PGroongaは更新中も検索性能を落としません。
+
+PGroongaはアルファベットベースの言語とアジアの言語が混ざっている場合も高速です。PGroongaはデフォルトでN-gramベースの全文検索を使います。これはpg\_bigmと似ています。なぜなら、pg\_bigmは2-gram(N-gramのNが2のケース)を使っているからです。しかし、PGroongaは可変長サイズのN-gramを使っています。N-gramはアルファベットベースの言語では遅くなりがちです。これは、アルファベットの字種が少ないからです。字種はだいたい26(「a」から「z」までと他にいくつか)になります。字種が少ないと転置インデックスのポスティングリストが長くなりがちです。(転置インデックスに詳しくないとこの説明はピンとこないかもしれません。)[PGroonga対textsearch対pg\_trgm](pgroonga-versus-textsearch-and-pg-trgm.html)も参照してください。N-gramベースの全
 文検索であるpg\_trgmが遅めなのがわかります。PGroongaは「私はPostgreSQLユーザーです。」というようにアルファベットベースの言語とアジアの言語が混ざっているときでもアルファベットベースの言語にはN-gramベースの全文検索ではなく単語ベースの全文検索を使います。
+
+PGroongaは更新も高速です。
+
+PGroongaはPostgreSQLに保存しているインデックス対象のテキストも保存しているのでインデックスサイズは大きいです。
+
+PGroongaのインデックスはクラッシュセーフではありません。もし、クラッシュしてPGroongaのインデックスが壊れた場合は[`REINDEX`]({{ site.postgresql_doc_base_url.ja }}/sql-reindex.html)を実行する必要があります。
+
+### pg\_bigmモジュール {#pg-bigm}
+
+pg\_bigmモジュールはクラッシュセーフです。なぜならGINを使っているからです。GINはクラッシュセーフです。
+
+pg\_bigmモジュールは大量のドキュメントがマッチして各ドキュメントが長い場合は遅いです。なぜならpg\_bigmはインデックスを使った検索の後に「recheck」する必要があるからです。
+
+### 概要 {#summary}
+
+モジュール  | サポートしている言語 | 検索 | 更新 | インデックスサイズ
+---------- | -------------------- | ---- | ---- | ----------------
+PGroonga   | 全言語               | 速い | 速い | 大きい
+pg\_bigm   | 全言語               | 遅い | 遅い | 小さい
+
+## ベンチマーク {#benchmark}
+
+このセクションでは日本語版Wikipediaを使ったベンチマーク結果を示します。ベンチマークスクリプトは https://github.com/groonga/wikipedia-search/blob/master/benchmark/centos7/postgresql.sh にあります。
+
+### 概要
+
+以下は全文検索インデックス作成のベンチマーク結果の概要です。
+
+  * PGroongaが一番速いモジュールです。
+
+  * pg\_bigmはPGroongaよりも約73%遅いです。
+
+![インデックス作成時間](../../images/pgroonga-pg-bigm/index-creation.svg)
+
+以下は全文検索インデックスのサイズのベンチマーク結果の概要です。
+
+  * pg\_bigmが一番小さいモジュールです。
+
+  * PGroongaはpg\_bigmよりも約2.3倍大きいです。
+
+![インデックスサイズ](../../images/pgroonga-pg-bigm/index-size.svg)
+
+以下は全文検索性能のベンチマーク結果の概要です。
+
+  * pg\_bigmの全文検索性能は他のモジュールよりも約50倍遅いです。ただし、「日本」(クエリーが2文字のケース)は遅くありません。
+
+  * PGroongaとGroongaの全文検索性能は似ています。ただし、「日本」(ヒット数が多いケース)ではGroongaの方が10倍高速です。
+
+![全文検索性能](../../images/pgroonga-pg-bigm/search.svg)
+
+以下はpg\_bigmが他のモジュールより約50倍遅いのでpg\_bigmを除いた全文検索性能のグラフです。
+
+![pg\_bigmを除いた全文検索性能](../../images/pgroonga-pg-bigm/search-without-pg-bigm.svg)
+
+### 環境
+
+以下はベンチマーク環境です。
+
+CPU        | Intel(R) Xeon(R) CPU E5-2660 v3****@2***** (24cores)
+メモリー   | 32GiB
+スワップ   | 2GiB
+ストレージ | SSD (500GB)
+OS        | CentOS 7.2
+
+### バージョン
+
+以下はソフトウェアのバージョンです。
+
+PostgreSQL | PGroonga | pg\_bigm
+---------- | -------- | ------------
+9.6.1      | 1.1.9    | 1.2-20161011
+
+### データ
+
+以下は対象データの統計情報です。
+
+サイズ                | 約5.9GiB
+レコード数            | 約90万件
+タイトルの平均バイト数 | 約21.6B
+タイトルの最大バイト数 | 250B
+本文の平均バイト数     | 約6.7KiB
+本文の最大バイト数     | 約677KiB
+
+### データロード
+
+以下はデータロードのベンチマーク結果です。全文検索モジュールには依存しません。なぜならどのインデックスもまだ作られていないからです。
+
+経過時間 | データベースサイズ
+-------- | -----------------
+約5分    | 約5GB
+
+以下はデータをロードするSQLです。
+
+```sql
+COPY wikipedia FROM 'ja-all-pages.csv' WITH CSV ENCODING 'utf8';
+```
+
+このCSVデータは http://packages.groonga.org/tmp/ja-all-pages.csv.xz からダウンロードできます。
+
+以下は`wikipedia`テーブルを定義するSQLです。
+
+```sql
+CREATE TABLE wikipedia (
+  id integer PRIMARY KEY,
+  title text,
+  text text
+);
+```
+
+### インデックス作成
+
+以下は全文検索インデックス作成のベンチマーク結果です。
+
+モジュール | 経過時間 | インデックスサイズ | 備考
+---------- | ------- | ------------------ | -------------------------------------------------------------------------------------------------------------
+PGroonga   | 約19分  | 約9.8GB            | PGroongaはデータをコピーしてそれに対してインデックスを作成します。データはzlibで圧縮しています。インデックスだけのサイズは約6.4GBです。
+pg\_bigm   | 約33分  | 約4.2GB            | `maintenance_work_mem`は`2GB`です。
+
+PGroongaのインデックス定義は以下の通りです。
+
+```sql
+CREATE INDEX wikipedia_index_pgroonga ON wikipedia
+ USING pgroonga (title, text);
+```
+
+pg\_bigmのインデックス定義は以下の通りです。
+
+```sql
+CREATE INDEX wikipedia_index_pg_bigm ON wikipedia
+ USING GIN (title gin_bigm_ops, text gin_bigm_ops);
+```
+
+### 全文検索
+
+全文検索のベンチマーク結果は以下の通りです。
+
+  * 「Groonga」は`pgroonga.command('select ...')`の結果です。[`pgroonga.command`](functions/pgroonga-command.html)も参照してください。
+
+  * 「相対経過時間」は対象の経過時間と最速のケースの経過時間の比率です。大きいほど遅いです。
+
+クエリー:「テレビアニメ」
+
+モジュール | 経過時間    | ヒット数 | 相対経過時間
+---------- | ---------- | -------- | -----------
+PGroonga   | 約65ミリ秒 | 約2万件   | 約1.1
+Groonga    | 約38ミリ秒 | 約2万件   | 1
+pg\_bigm   | 約2.8秒    | 約2万件   | 約4.8
+
+クエリー:「データベース」
+
+モジュール | 経過時間    | ヒット数  | 相対経過時間
+---------- | ---------- | --------- | -----------
+PGroonga   | 約49ミリ秒 | 約1万5千件 | 約1.6
+Groonga    | 約31ミリ秒 | 約1万5千件 | 1
+pg\_bigm   | 約1.3秒    | 約1万5千件 | 約41
+
+
+クエリー:「PostgreSQL OR MySQL」
+
+モジュール | 経過時間   | ヒット数 | 相対経過時間
+---------- | ---------- | ------- | -----------
+PGroonga   | 約2ミリ秒  | 316件    | 約2
+Groonga    | 約1ミリ秒  | 316件    | 1
+pg\_bigm   | 約49ミリ秒 | 311件    | 約49
+
+クエリー:「日本」
+
+モジュール | 経過時間     | ヒット数 | 相対経過時間
+--------- | ------------ | -------- | -----------
+PGroonga   | 約563ミリ秒 | 約53万件  | 約10
+Groonga    | 約59ミリ秒  | 約53万件  | 1
+pg\_bigm   | 約479ミリ秒 | 約53万件  | 約8

  Added: reference/pgroonga-versus-pg-bigm.md (+195 -0) 100644
===================================================================
--- /dev/null
+++ reference/pgroonga-versus-pg-bigm.md    2016-11-19 01:02:08 +0900 (917d5be)
@@ -0,0 +1,195 @@
+---
+title: PGroonga versus pg_bigm
+---
+
+# PGroonga versus pg\_bigm
+
+PostgreSQL doesn't support full text search for non alphabet based languages such as Asian languages including Japanese, Chinese and Korean by default. There are some third party modules to support Asian languages. PGroonga is one of them. [pg\_bigm](http://pgbigm.osdn.jp/index_en.html) is another module. There are some textsearch parsers such as [zhparser](https://github.com/amutu/zhparser) for Chinese and [textsearch\_ja (not maintained)](http://textsearch-ja.projects.pgfoundry.org/textsearch_ja.html) for Japanese.
+
+The pg\_bigm module is similar to the [pg\_trgm]({{ site.postgresql_doc_base_url.en }}/pgtrgm.html) module. The pg\_trgm module doesn't support Asian languages by default but the pg\_bigm module supports them.
+
+This documents describes about difference between PGroonga and pg\_bigm.
+
+## Characteristics
+
+Here are characteristics of each modules.
+
+### PGroonga {#pgroonga}
+
+PGroonga is fast for searching because it doesn't need "recheck".
+
+PGroonga is also fast for searching while updating because it doesn't block searching while updating. PGroonga doesn't decrease search performance while updating.
+
+PGroonga is also fast for alphabet based languages and Asian languages mixed case. PGroonga uses N-gram based full text search by default. It's similar to pg\_bigm because pg\_bigm uses 2-gram (N is 2 case of N-gram). But PGroonga uses variable size N-gram. N-gram is slower for alphabet based languages because the number of letter types are few in alphabet. It's about 26 ("a" to "z" and more). Posting list in inverted index will be longer when the number of letter types are few. (If you're not familiar with inverted index, you may not understand this description.) See also [PGroonga versus textsearch and pg\_trgm](pgroonga-versus-textsearch-and-pg-trgm.html). You can find pg\_trgm that uses N-gram based full text search is slower. PGroonga uses word based full text search instead of N-gram based full text search for alphabet based languages even if the target text mixes alphabet based languages and Asian languages such as "私はPostgreSQLユーザーです。".
+
+PGroonga is also fast for updating.
+
+PGroonga index is large because it keeps index target text that is already stored in PostgreSQL.
+
+PGroonga index isn't crash safe. You need to run [`REINDEX`]({{ site.postgresql_doc_base_url.en }}/sql-reindex.html) when your PGroonga index is broken by crash.
+
+### The pg\_bigm module {#pg-bigm}
+
+The pg\_bigm module is crash safe because it uses GIN. GIN is crash safe.
+
+The pg\_bigm module is slow when many documents are matched and each document is long. Because pg\_bigm need "recheck" after index search.
+
+### Summary {#summary}
+
+Module     | Supported languages | Search  | Update  | Size
+---------- | --------------------| ------- | ------- | -------
+PGroonga   | All                 | Faster  | Faster  | Larger
+pg\_bigm   | All                 | Slower  | Slower  | Smaller
+
+## Benchmark {#benchmark}
+
+This section shows benchmark result against Japanese Wikipedia. You can find benchmark script at https://github.com/groonga/wikipedia-search/blob/master/benchmark/centos7/postgresql.sh .
+
+### Summary
+
+Here is the summary of full text search index creation benchmark result:
+
+  * PGroonga is the fastest module.
+
+  * pg\_bigm is about 73% slower than PGroonga.
+
+![Index creation time](../images/pgroonga-pg-bigm/index-creation.svg)
+
+Here is the summary of full text search index size benchmark result:
+
+  * pg\_bigm is the smallest module.
+
+  * PGroonga is about 2.3 times larger than pg\_bigm.
+
+![Index size](../images/pgroonga-pg-bigm/index-size.svg)
+
+Here is the summary of full text search performance benchmark result:
+
+  * Full text search performance by pg\_bigm is about 50 times slower than other modules expect "日本" (two characters case).
+
+  * Full text search performances of PGroonga and Groonga are similar expect "日本" (many hit records case).
+
+![Full text search performance](../images/pgroonga-pg-bigm/search.svg)
+
+Here is the full text search performance graph without pg\_bigm because pg\_bigm is about 50 times slower than other modules:
+
+![Full text search performance without pg\_bigm](../images/pgroonga-pg-bigm/search-without-pg-bigm.svg)
+
+### Environment
+
+Here is the benchmark environment:
+
+CPU     | Intel(R) Xeon(R) CPU E5-2660 v3****@2***** (24cores)
+Memory  | 32GiB
+Swap    | 2GiB
+Storage | SSD (500GB)
+OS      | CentOS 7.2
+
+### Version
+
+Here are the software versions:
+
+PostgreSQL | PGroonga | pg\_bigm
+---------- | -------- | ------------
+9.6.1      | 1.1.9    | 1.2-20161011
+
+### Data
+
+Here are statistics of the target data:
+
+Size                                | About 5.9GiB
+The number of records               | About 900thousands
+The average of title length in byte | About 21.6B
+The max title length in byte        | 250B
+The average of body length in byte  | About 6.7KiB
+The max body length in byte         | About 677KiB
+
+### Data load
+
+Here is the benchmark result of data load. It's not related with full text search modules. Because any indexes aren't created yet.
+
+Elapsed time   | Database size
+-------------- | -------------
+About 5minutes | About 5GB
+
+Here is the SQL to load data:
+
+```sql
+COPY wikipedia FROM 'ja-all-pages.csv' WITH CSV ENCODING 'utf8';
+```
+
+You can download the CSV data at http://packages.groonga.org/tmp/ja-all-pages.csv.xz .
+
+Here is the SQL to define the `wikipedia` table:
+
+```sql
+CREATE TABLE wikipedia (
+  id integer PRIMARY KEY,
+  title text,
+  text text
+);
+```
+
+### Index creation
+
+Here are benchmark results of creating full text search indexes:
+
+Module     | Elapsed time    | Index size  | Note
+---------- | --------------- | ----------- | -------------------------------------------------------------------------------------------------------------
+PGroonga   | About 19minutes | About 9.8GB | PGroonga copies data and creates index from them. Data are compressed by zlib. Index only size is about 6.4GB.
+pg\_bigm   | About 33minutes | About 4.2GB | `maintenance_work_mem` is `2GB`.
+
+Here is the index definition of PGroonga:
+
+```sql
+CREATE INDEX wikipedia_index_pgroonga ON wikipedia
+ USING pgroonga (title, text);
+```
+
+Here is the index definition of pg\_bigm:
+
+```sql
+CREATE INDEX wikipedia_index_pg_bigm ON wikipedia
+ USING GIN (title gin_bigm_ops, text gin_bigm_ops);
+```
+
+### Full text search
+
+Here are benchmark results of full text searches.
+
+  * "Groonga" means `pgroonga.command('select ...')` result. See also [`pgroonga.command`](functions/pgroonga-command.html).
+
+  * "Relative elapsed time" is the ratio between the target elapsed time and the fastest case elapsed time. Larger means slower.
+
+Query: "テレビアニメ"
+
+Module   | Elapsed time | N hits             | Relative elapsed time
+-------- | ------------ | ------------------ | ---------------------
+PGroonga | About 65ms   | About 20thousands  | About 1.1
+Groonga  | About 38ms   | About 20thousands  | 1
+pg\_bigm | About 2.8s   | About 20thousands  | About 48
+
+Query: "データベース"
+
+Module   | Elapsed time | N hits            | Relative elapsed time
+-------- | ------------ | ----------------- | ---------------------
+PGroonga | About 49ms   | About 15thousands | About 1.6
+Groonga  | About 31ms   | About 15thousands | 1
+pg\_bigm | About 1.3s   | About 15thousands | About 41
+
+
+Query: "PostgreSQL OR MySQL"
+
+Module   | Elapsed time | N hits | Relative elapsed time
+-------- | ------------ | ------ | ---------------------
+PGroonga | About 2ms    | 316    | About 2
+Groonga  | About 1ms    | 316    | 1
+pg\_bigm | About 49ms   | 311    | About 49
+
+Query: "日本"
+
+Module   | Elapsed time | N hits             | Relative elapsed time
+-------- | ------------ | ------------------ | ---------------------
+PGroonga | About 563ms  | About 530thousands | About 10
+Groonga  | About 59ms   | About 530thousands | 1
+pg\_bigm | About 479ms  | About 530thousands | About 8




More information about the Groonga-commit mailing list
Back to archive index