rabbit-slide-kou-pgconf-asia-2016 2016.12.3.0 → 2016.12.3.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/config.yaml +1 -1
- data/data/search-ja.gnuplot +1 -1
- data/images/search-pg-bigm.pdf +0 -0
- data/images/search-pgroonga-pg-bigm-all.pdf +0 -0
- data/images/search-pgroonga-pg-bigm.pdf +0 -0
- data/pdf/pgconf-asia-2016-pgroonga.pdf +0 -0
- data/pgroonga.rab +90 -8
- metadata +2 -3
- data/PGroonga - Make PostgreSQL//nfast full text search platform//nfor all languages!.pdf +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e9e56912a6ba5ba5a6e8d4fa15578604df83ae69
|
4
|
+
data.tar.gz: ddbedc66bc2bf92fe62bab90a7100131a33bc01d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6494bbdab2af883956695df206d29641b55c76c6cd1cd5f7b02ffe1dd42df30f3442cf569a95967023656ed67dff7f87ecd6b9e25ce76196d752d0831f360987
|
7
|
+
data.tar.gz: 0143c74f1cd6616f14c05a804ab6060b5e36aa7b92dad990af5fea4c6f29c179f445eaed0d1adf369abd723cbe6be2642cede31d407fadcf23f2f41dfe32483b
|
data/config.yaml
CHANGED
data/data/search-ja.gnuplot
CHANGED
data/images/search-pg-bigm.pdf
CHANGED
Binary file
|
Binary file
|
Binary file
|
Binary file
|
data/pgroonga.rab
CHANGED
@@ -88,11 +88,10 @@ Many langs aren't supported\n
|
|
88
88
|
|
89
89
|
# coderay sql
|
90
90
|
CREATE EXTENSION pg_trgm;
|
91
|
-
SELECT 'こんにちは'
|
92
|
-
--
|
93
|
-
--
|
94
|
-
--
|
95
|
-
-- f ← Must be "t"!
|
91
|
+
SELECT show_trgm('こんにちは');
|
92
|
+
-- show_trgm
|
93
|
+
-- -----------
|
94
|
+
-- {} ← Must not empty!
|
96
95
|
-- (1 row)
|
97
96
|
|
98
97
|
= Existing solution\n(('note:既存の解決策'))
|
@@ -113,7 +112,7 @@ pg_bigm
|
|
113
112
|
|
114
113
|
# coderay sql
|
115
114
|
CREATE INDEX index ON table
|
116
|
-
USING
|
115
|
+
USING GIN (column gin_bigm_ops);
|
117
116
|
-- ↑Use GIN ↑Specify op class
|
118
117
|
|
119
118
|
= pg_bigm: Demerit\n(('note:pg_bigm:デメリット'))
|
@@ -219,7 +218,7 @@ pg_bigm
|
|
219
218
|
|
220
219
|
= N-gram and "recheck"\n(('note:N-gramと「recheck」'))
|
221
220
|
|
222
|
-
* N-gram approach needs "phrase search" when query has N or more characters\n
|
221
|
+
* N-gram approach needs "phrase search" when query has N+1 or more characters\n
|
223
222
|
(('note:N+1文字以上のクエリーには「フレーズ検索」が必要'))
|
224
223
|
* N=2 for pg_bigm, N=3 for pg_trgm\n
|
225
224
|
(('note:pg_bigmはN=2でpg_trgmはN=3'))
|
@@ -373,6 +372,8 @@ for all languages!
|
|
373
372
|
|
374
373
|
* Performance\n
|
375
374
|
(('note:性能'))
|
375
|
+
* Japanese specific feature\n
|
376
|
+
(('note:日本語向けの機能'))
|
376
377
|
* JSON support\n
|
377
378
|
(('note:JSONサポート'))
|
378
379
|
* Replication\n
|
@@ -389,6 +390,12 @@ for all languages!
|
|
389
390
|
|
390
391
|
* Doesn't decrease search performance while updating\n
|
391
392
|
(('note:更新中も検索性能が落ちない'))
|
393
|
+
* (('wait'))It's good characteristics for chat application\n
|
394
|
+
(('note:チャットアプリでうれしい傾向'))
|
395
|
+
* (('wait'))Zulip supports PGroonga\n
|
396
|
+
Zulip: OSS chat app by Dropbox\n
|
397
|
+
(('note:ZulipはPGroongaをサポートしている'))\n
|
398
|
+
(('note:ZulipはDropboxが開発しているOSSのチャットアプリ'))
|
392
399
|
|
393
400
|
= Characteristics\n(('note:傾向'))
|
394
401
|
|
@@ -423,7 +430,7 @@ for all languages!
|
|
423
430
|
(('note:詳細は「GIN pending list」で検索'))
|
424
431
|
* PGroonga keeps fast search\n
|
425
432
|
(('note:PGroongaは高速な検索を維持'))
|
426
|
-
* PGroonga keeps index
|
433
|
+
* PGroonga keeps index updated\n
|
427
434
|
(('note:PGroongaのインデックスは常に最新状態'))
|
428
435
|
|
429
436
|
= Index only scan\n(('note:インデックスオンリースキャン'))
|
@@ -463,6 +470,81 @@ for all languages!
|
|
463
470
|
* Fast index creation\n
|
464
471
|
(('note:インデックス作成も速い'))
|
465
472
|
|
473
|
+
= Japanese specific feature\n(('note:日本語向けの機能'))
|
474
|
+
|
475
|
+
* Completion by Romaji\n
|
476
|
+
(('note:ローマ字による入力補完'))
|
477
|
+
|
478
|
+
= Completion: Table\n(('note:入力補完:テーブル'))
|
479
|
+
|
480
|
+
# coderay sql
|
481
|
+
|
482
|
+
CREATE TABLE stations (
|
483
|
+
name text,
|
484
|
+
readings text[]
|
485
|
+
-- ↑Support N readings
|
486
|
+
);
|
487
|
+
|
488
|
+
= Completion: Data\n(('note:入力補完:データ'))
|
489
|
+
|
490
|
+
# coderay sql
|
491
|
+
|
492
|
+
INSERT INTO stations VALUES
|
493
|
+
('Tokyo',
|
494
|
+
ARRAY['トウキョウ']),
|
495
|
+
-- ↑In Katakana
|
496
|
+
-- (...),
|
497
|
+
('Akihabara',
|
498
|
+
ARRAY['アキハバラ', 'アキバ']);
|
499
|
+
|
500
|
+
= Completion: Index\n(('note:入力補完:インデックス'))
|
501
|
+
|
502
|
+
# coderay sql
|
503
|
+
|
504
|
+
CREATE INDEX pgroonga_index
|
505
|
+
ON stations
|
506
|
+
USING pgroonga (
|
507
|
+
-- ↓For prefix and prefix Romaji/Katakana search
|
508
|
+
name pgroonga.text_term_search_ops_v2,
|
509
|
+
-- ↓For prefix and prefix Romaji/Katakana search
|
510
|
+
-- against array
|
511
|
+
readings pgroonga.text_array_term_search_ops_v2);
|
512
|
+
|
513
|
+
= Completion: Search\n(('note:入力補完:検索'))
|
514
|
+
|
515
|
+
# coderay sql
|
516
|
+
|
517
|
+
SELECT name, readings
|
518
|
+
FROM stations
|
519
|
+
WHERE name &^ 'tou' OR
|
520
|
+
-- ↑Prefix search
|
521
|
+
readings &^~> 'tou'
|
522
|
+
-- ↑Prefix Romaji/Katakana search
|
523
|
+
ORDER BY name LIMIT 10;
|
524
|
+
|
525
|
+
= Completion: Result\n(('note:入力補完:結果'))
|
526
|
+
|
527
|
+
(('tag:center'))
|
528
|
+
Hit by\n
|
529
|
+
prefix Romaji/Katakana search\n
|
530
|
+
"tou"(Romaji)→"トウ"(Katakana)\n
|
531
|
+
(('note:前方一致RK検索でヒット'))
|
532
|
+
|
533
|
+
# _
|
534
|
+
name | readings
|
535
|
+
-------+--------------
|
536
|
+
Tokyo | {トウキョウ}
|
537
|
+
(1 row)
|
538
|
+
|
539
|
+
= For Japanese: Wrap up\n(('note:日本語向け機能:まとめ'))
|
540
|
+
|
541
|
+
* Support prefix Romaji/Kana search\n
|
542
|
+
(('note:前方一致RK検索をサポート'))
|
543
|
+
* Useful for implementing auto complete feature in search box\n
|
544
|
+
(('note:検索欄にオートコンプリート機能を実装する時に便利'))
|
545
|
+
* Users don't need to convert Romaji to Kanji\n
|
546
|
+
(('note:ユーザーはローマ字を漢字に変換する必要がない'))
|
547
|
+
|
466
548
|
= JSON support\n(('note:JSONサポート'))
|
467
549
|
|
468
550
|
* Support full text search\n
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rabbit-slide-kou-pgconf-asia-2016
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2016.12.3.
|
4
|
+
version: 2016.12.3.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Kouhei Sutou
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-12-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rabbit
|
@@ -49,7 +49,6 @@ extensions: []
|
|
49
49
|
extra_rdoc_files: []
|
50
50
|
files:
|
51
51
|
- ".rabbit"
|
52
|
-
- PGroonga - Make PostgreSQL\nfast full text search platform\nfor all languages!.pdf
|
53
52
|
- README.rd
|
54
53
|
- Rakefile
|
55
54
|
- config.yaml
|