rabbit-slide-clear-code-pgroonga-introduction 2016.12.26.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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
@@ -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
+
@@ -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
@@ -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
@@ -0,0 +1,5 @@
1
+ Query PGroonga "N hits(PGroonga)" Groonga "N hits(Groonga)" pg\\_bigm "N hits(pg\\_bigm)"
2
+ "PostgreSQL\nOR\nMySQL" 2 316 1 316 49 311
3
+ データベース 49 14709 31 14709 1300 14706
4
+ テレビアニメ 65 20389 38 20389 2800 20389
5
+ 日本 563 537382 59 537382 479 537382
@@ -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
@@ -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: []