rabbit-slide-clear-code-pgroonga-introduction 2016.12.26.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.rabbit +1 -0
- data/README.rd +45 -0
- data/Rakefile +61 -0
- data/config.yaml +24 -0
- data/data/search-ja.gnuplot +37 -0
- data/data/search-ja.tsv +5 -0
- data/data/style.gnuplot +29 -0
- data/images/search-pgroonga-pg-bigm.pdf +0 -0
- data/pdf/pgroonga-introduction-pgroonga-introduction.pdf +0 -0
- data/pgroonga-introduction.rab +55 -0
- metadata +83 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: ef88f161f1e10b032f07208c2a7c6a1b345912e7
|
4
|
+
data.tar.gz: 279e891ceb5c1fd50c400a26944f2f47e05c30c0
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: d1ce50876757659689dd69236db7f8a64ac4fd6ee2545e2919091041d32b398c35b15aaea4aaa217a021f8e38783e98f2befd233d7a66d0b505863d5c535f433
|
7
|
+
data.tar.gz: e3d68d1a6fdcdb28dba8bbe5ad672833f244a4efab2dcacd1ba70076c39b0a527c9e8c9162e76479b077e5b3b63b00928489ada571a0d35d2bbb73b781f055bf
|
data/.rabbit
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
pgroonga-introduction.rab
|
data/README.rd
ADDED
@@ -0,0 +1,45 @@
|
|
1
|
+
= PGroongaの紹介
|
2
|
+
|
3
|
+
PGroonga紹介用資料。
|
4
|
+
|
5
|
+
== ライセンス
|
6
|
+
|
7
|
+
=== スライド
|
8
|
+
|
9
|
+
CC BY-SA 4.0
|
10
|
+
|
11
|
+
著作者情報は次のどれかを使ってください。
|
12
|
+
|
13
|
+
* 株式会社クリアコード
|
14
|
+
* クリアコード
|
15
|
+
|
16
|
+
=== 画像
|
17
|
+
|
18
|
+
==== GroongaとPGroongaのロゴ
|
19
|
+
|
20
|
+
CC BY 3.0
|
21
|
+
|
22
|
+
著作者:Groongaプロジェクト
|
23
|
+
|
24
|
+
スライドの各ページのヘッダーおよびいくつかのページ中で使用しています。
|
25
|
+
|
26
|
+
== 作者向け
|
27
|
+
|
28
|
+
=== 表示
|
29
|
+
|
30
|
+
rake
|
31
|
+
|
32
|
+
=== 公開
|
33
|
+
|
34
|
+
rake publish
|
35
|
+
|
36
|
+
== 閲覧者向け
|
37
|
+
|
38
|
+
=== インストール
|
39
|
+
|
40
|
+
gem install rabbit-slide-clear-code-pgroonga-introduction
|
41
|
+
|
42
|
+
=== 表示
|
43
|
+
|
44
|
+
rabbit rabbit-slide-clear-code-pgroonga-introduction.gem
|
45
|
+
|
data/Rakefile
ADDED
@@ -0,0 +1,61 @@
|
|
1
|
+
require "rabbit/task/slide"
|
2
|
+
|
3
|
+
# Edit ./config.yaml to customize meta data
|
4
|
+
|
5
|
+
spec = nil
|
6
|
+
Rabbit::Task::Slide.new do |task|
|
7
|
+
spec = task.spec
|
8
|
+
spec.files += Dir.glob("data/**/*.*")
|
9
|
+
spec.files += Dir.glob("images/**/*.*")
|
10
|
+
# spec.files -= Dir.glob("private/**/*.*")
|
11
|
+
spec.add_runtime_dependency("rabbit-theme-clear-code")
|
12
|
+
end
|
13
|
+
|
14
|
+
desc "Tag #{spec.version}"
|
15
|
+
task :tag do
|
16
|
+
sh("git", "tag", "-a", spec.version.to_s, "-m", "Publish #{spec.version}")
|
17
|
+
sh("git", "push", "--tags")
|
18
|
+
end
|
19
|
+
|
20
|
+
|
21
|
+
key_graphs = []
|
22
|
+
plots = Pathname.glob("data/**/*.gnuplot")
|
23
|
+
plots.each do |plot|
|
24
|
+
output_base_dir = plot.dirname.to_s.gsub(/\Adata/, "images")
|
25
|
+
loaded_plots = []
|
26
|
+
graphs = []
|
27
|
+
data = []
|
28
|
+
|
29
|
+
plot.open do |plot_file|
|
30
|
+
plot_file.each_line do |line|
|
31
|
+
case line.chomp
|
32
|
+
when /\Aload "(.*?)"\z/
|
33
|
+
loaded_plots << "#{plot.dirname}/#{$1}"
|
34
|
+
when /"(.*?\.tsv)"/
|
35
|
+
data << "#{plot.dirname}/#{$1}"
|
36
|
+
when /\Aset output "(.*?)"\z/
|
37
|
+
graphs << "#{output_base_dir}/#{$1}"
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
41
|
+
next if graphs.empty?
|
42
|
+
|
43
|
+
key_graph = graphs.first
|
44
|
+
key_graphs << key_graph
|
45
|
+
file key_graph => [plot.to_s, *loaded_plots, *data] do
|
46
|
+
cd(plot.dirname) do
|
47
|
+
sh("gnuplot", plot.basename.to_s)
|
48
|
+
end
|
49
|
+
graphs.each do |graph|
|
50
|
+
mkdir_p(File.dirname(graph))
|
51
|
+
mv("#{plot.dirname}/#{File.basename(graph)}",
|
52
|
+
graph)
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
56
|
+
|
57
|
+
desc "Generate graphs"
|
58
|
+
task :graph => key_graphs
|
59
|
+
|
60
|
+
task :run => :graph
|
61
|
+
task :pdf => :graph
|
data/config.yaml
ADDED
@@ -0,0 +1,24 @@
|
|
1
|
+
---
|
2
|
+
id: pgroonga-introduction
|
3
|
+
base_name: pgroonga-introduction
|
4
|
+
tags:
|
5
|
+
- rabbit
|
6
|
+
- pgroonga
|
7
|
+
- postgresql
|
8
|
+
presentation_date:
|
9
|
+
version: 2016.12.26.0
|
10
|
+
licenses:
|
11
|
+
- CC-BY-SA-4.0
|
12
|
+
- CC-BY-3.0
|
13
|
+
slideshare_id:
|
14
|
+
speaker_deck_id:
|
15
|
+
ustream_id:
|
16
|
+
vimeo_id:
|
17
|
+
youtube_id:
|
18
|
+
author:
|
19
|
+
markup_language: :rd
|
20
|
+
name: クリアコード
|
21
|
+
email: rubygems@clear-code.com
|
22
|
+
rubygems_user: clear-code
|
23
|
+
slideshare_user:
|
24
|
+
speaker_deck_user:
|
@@ -0,0 +1,37 @@
|
|
1
|
+
load "style.gnuplot"
|
2
|
+
|
3
|
+
set xlabel "ヒット数"
|
4
|
+
set ylabel " 実行時間(秒)\n(低いほど速い)"
|
5
|
+
|
6
|
+
set label 1 \
|
7
|
+
"データ:日本語版Wikipedia\n(大量で大きなテキスト)" \
|
8
|
+
at first 0,2.875 left
|
9
|
+
set label 2 \
|
10
|
+
"レコード数:約90万\n平均テキストサイズ:6.7KiB" \
|
11
|
+
at first 0,2.375 left
|
12
|
+
set label 3 \
|
13
|
+
"遅い" \
|
14
|
+
textcolor "#ef2929" \
|
15
|
+
at first 15306,1.3 left
|
16
|
+
set label 4 \
|
17
|
+
"遅い" \
|
18
|
+
textcolor "#ef2929" \
|
19
|
+
at first 19889,2.8 right
|
20
|
+
set label 5 \
|
21
|
+
"速い" \
|
22
|
+
textcolor "#ef2929" \
|
23
|
+
at first 14709,0.25 center
|
24
|
+
set label 6 \
|
25
|
+
"速い" \
|
26
|
+
textcolor "#ef2929" \
|
27
|
+
at first 20189,0.25 center
|
28
|
+
set output "search-pgroonga-pg-bigm.pdf"
|
29
|
+
plot [0:20389] \
|
30
|
+
"search-ja.tsv" using 3:($2/1000) \
|
31
|
+
title columnheader \
|
32
|
+
with linespoints \
|
33
|
+
linestyle 5, \
|
34
|
+
"search-ja.tsv" using 7:($6/1000):xtic(7) \
|
35
|
+
title columnheader \
|
36
|
+
with linespoints \
|
37
|
+
linestyle 1
|
data/data/search-ja.tsv
ADDED
data/data/style.gnuplot
ADDED
@@ -0,0 +1,29 @@
|
|
1
|
+
set terminal pdfcairo enhanced color transparent rounded
|
2
|
+
|
3
|
+
set key outside center top horizontal reverse Left samplen 2
|
4
|
+
unset border
|
5
|
+
set xtics scale 0
|
6
|
+
set ytics scale 0
|
7
|
+
set grid ytics linewidth 1 linetype -1
|
8
|
+
|
9
|
+
set key font "Sans,18"
|
10
|
+
set title font "Sans,18"
|
11
|
+
set xlabel font "Sans,18"
|
12
|
+
set ylabel font "Sans,18"
|
13
|
+
set label 1 font "Sans,18"
|
14
|
+
set label 2 font "Sans,18"
|
15
|
+
set label 3 font "Sans,18"
|
16
|
+
set label 4 font "Sans,18"
|
17
|
+
set label 5 font "Sans,18"
|
18
|
+
set label 6 font "Sans,18"
|
19
|
+
|
20
|
+
set style line 1 lt 1 lc rgbcolor "#3465a4" lw 2.5 pt 7 ps 1
|
21
|
+
set style line 2 lt 1 lc rgbcolor "#edd400" lw 2.5 pt 7 ps 1
|
22
|
+
set style line 3 lt 1 lc rgbcolor "#888a85" lw 2.5 pt 5 ps 1
|
23
|
+
set style line 4 lt 1 lc rgbcolor "#f57900" lw 2.5 pt 5 ps 1
|
24
|
+
set style line 5 lt 1 lc rgbcolor "#ad7fa8" lw 2.5 pt 9 ps 1
|
25
|
+
set style line 6 lt 1 lc rgbcolor "#4e9a06" lw 2.5 pt 9 ps 1
|
26
|
+
set style line 7 lt 1 lc rgbcolor "#ef2929" lw 2.5 pt 1 ps 1
|
27
|
+
set style line 8 lt 1 lc rgbcolor "#5c3566" lw 2.5 pt 1 ps 1
|
28
|
+
set style line 9 lt 1 lc rgbcolor "#c17d11" lw 2.5 pt 3 ps 1
|
29
|
+
set style line 10 lt 1 lc rgbcolor "#dce775" lw 2.5 pt 3 ps 1
|
Binary file
|
Binary file
|
@@ -0,0 +1,55 @@
|
|
1
|
+
= PGroongaの紹介
|
2
|
+
|
3
|
+
: author
|
4
|
+
クリアコード
|
5
|
+
: theme
|
6
|
+
clear-code
|
7
|
+
|
8
|
+
= PostgreSQLの課題
|
9
|
+
|
10
|
+
* (('wait'))組込全文検索機能
|
11
|
+
* 日本語未対応
|
12
|
+
* (('wait'))サードパーティーの拡張機能
|
13
|
+
* 日本語対応だが遅い
|
14
|
+
|
15
|
+
(('wait'))
|
16
|
+
(('tag:center'))
|
17
|
+
↓\n
|
18
|
+
PGroonga:日本語対応で速い
|
19
|
+
|
20
|
+
= 速度
|
21
|
+
|
22
|
+
# image
|
23
|
+
# src = images/search-pgroonga-pg-bigm.pdf
|
24
|
+
# relative_width = 100
|
25
|
+
|
26
|
+
== スライドプロパティ
|
27
|
+
|
28
|
+
: enable-title-on-image
|
29
|
+
false
|
30
|
+
|
31
|
+
= 速い理由
|
32
|
+
|
33
|
+
(('tag:center'))
|
34
|
+
(('tag:margin-bottom * 2'))
|
35
|
+
((*recheck*))が必要ない\n
|
36
|
+
(('note:recheck:インデックス検索後のシーケンシャルサーチ'))\n
|
37
|
+
(('note:シーケンシャルサーチ=ヒット件数が多いほど遅い'))\n
|
38
|
+
|
39
|
+
# RT
|
40
|
+
|
41
|
+
索引, ((*完全*))\n転置索引か, recheck
|
42
|
+
|
43
|
+
GIN, No, 必要
|
44
|
+
PGroonga, ((*Yes*)), ((*必要ない*))
|
45
|
+
|
46
|
+
= 速いだけではない
|
47
|
+
|
48
|
+
* 日本語特化の機能
|
49
|
+
* ローマ字での入力補完\n
|
50
|
+
例:「to」で「東京」を補完
|
51
|
+
* JSON内の全テキストを全文検索
|
52
|
+
* JSON内のレイアウトが違ってもOK\n
|
53
|
+
→ログ検索・データ解析などに有用
|
54
|
+
|
55
|
+
# TODO:スコアーのカスタマイズ機能を実装してここに追加
|
metadata
ADDED
@@ -0,0 +1,83 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: rabbit-slide-clear-code-pgroonga-introduction
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 2016.12.26.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- クリアコード
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2016-12-26 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: rabbit
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ">="
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: 2.0.2
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ">="
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: 2.0.2
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: rabbit-theme-clear-code
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
41
|
+
description: PGroonga紹介用資料。
|
42
|
+
email:
|
43
|
+
- rubygems@clear-code.com
|
44
|
+
executables: []
|
45
|
+
extensions: []
|
46
|
+
extra_rdoc_files: []
|
47
|
+
files:
|
48
|
+
- ".rabbit"
|
49
|
+
- README.rd
|
50
|
+
- Rakefile
|
51
|
+
- config.yaml
|
52
|
+
- data/search-ja.gnuplot
|
53
|
+
- data/search-ja.tsv
|
54
|
+
- data/style.gnuplot
|
55
|
+
- images/search-pgroonga-pg-bigm.pdf
|
56
|
+
- pdf/pgroonga-introduction-pgroonga-introduction.pdf
|
57
|
+
- pgroonga-introduction.rab
|
58
|
+
homepage: http://slide.rabbit-shocker.org/authors/clear-code/pgroonga-introduction/
|
59
|
+
licenses:
|
60
|
+
- CC-BY-SA-4.0
|
61
|
+
- CC-BY-3.0
|
62
|
+
metadata: {}
|
63
|
+
post_install_message:
|
64
|
+
rdoc_options: []
|
65
|
+
require_paths:
|
66
|
+
- lib
|
67
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
68
|
+
requirements:
|
69
|
+
- - ">="
|
70
|
+
- !ruby/object:Gem::Version
|
71
|
+
version: '0'
|
72
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
73
|
+
requirements:
|
74
|
+
- - ">="
|
75
|
+
- !ruby/object:Gem::Version
|
76
|
+
version: '0'
|
77
|
+
requirements: []
|
78
|
+
rubyforge_project:
|
79
|
+
rubygems_version: 2.5.2
|
80
|
+
signing_key:
|
81
|
+
specification_version: 4
|
82
|
+
summary: PGroongaの紹介
|
83
|
+
test_files: []
|