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.
- 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: []
|