Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
Submit search
EN
Uploaded by
Naoya Murakami
6,221 views
Groongaの紹介と事例紹介
Groongaの紹介と事例紹介 全文検索エンジンGroongaユーザ勉強会@神戸
Read more
7
Save
Share
Embed
Embed presentation
Download
Download to read offline
1
/ 49
2
/ 49
3
/ 49
4
/ 49
5
/ 49
6
/ 49
7
/ 49
8
/ 49
9
/ 49
10
/ 49
11
/ 49
12
/ 49
13
/ 49
14
/ 49
15
/ 49
16
/ 49
17
/ 49
18
/ 49
19
/ 49
20
/ 49
21
/ 49
22
/ 49
23
/ 49
24
/ 49
25
/ 49
26
/ 49
27
/ 49
28
/ 49
29
/ 49
30
/ 49
31
/ 49
32
/ 49
33
/ 49
34
/ 49
35
/ 49
36
/ 49
37
/ 49
38
/ 49
39
/ 49
40
/ 49
41
/ 49
42
/ 49
43
/ 49
44
/ 49
45
/ 49
46
/ 49
47
/ 49
48
/ 49
49
/ 49
More Related Content
PDF
Groongaの今後への期待
by
Naoya Murakami
PDF
Rroongaの全文検索性能 Ruby kansai-20140531-ruby-kansai-20140531
by
Naoya Murakami
PDF
Java script info in english
by
Takahiro Kawahara
PDF
201802 WordBench Nagoya
by
takashi ishihara
PDF
Java屋からPHPerになって1年くらい経った
by
小川 昌吾
PDF
2ヶ月で売上約15万を実現したアパレル系webアプリ
by
Masaru Gushiken
PDF
Rails 速度改善結果レポート
by
Masaru Gushiken
PPTX
SendGrid Night in Osaka #2 LT SendGrid + Redash
by
Mitsuhiro Yamashita
Groongaの今後への期待
by
Naoya Murakami
Rroongaの全文検索性能 Ruby kansai-20140531-ruby-kansai-20140531
by
Naoya Murakami
Java script info in english
by
Takahiro Kawahara
201802 WordBench Nagoya
by
takashi ishihara
Java屋からPHPerになって1年くらい経った
by
小川 昌吾
2ヶ月で売上約15万を実現したアパレル系webアプリ
by
Masaru Gushiken
Rails 速度改善結果レポート
by
Masaru Gushiken
SendGrid Night in Osaka #2 LT SendGrid + Redash
by
Mitsuhiro Yamashita
What's hot
ODP
Google trends to_irc
by
rarere
PDF
検索数1万回以上でスマホ検索率80%以上のキーワード特長
by
新潟コンサルタント横田秀珠
PDF
MT LT 20100205
by
Taku AMANO
PDF
今からでも遅くない! 2から始めるangular js
by
Kohashi Daisuke
PDF
GroongaでRedmineを高速全文検索
by
Kouhei Sutou
PDF
全文検索でRedmineをさらに活用!
by
Kouhei Sutou
PDF
_gaTracker 第4回ミーティング『not providedをどうとらえるか』 いちしま泰樹
by
Yasuki Ichishima
PPT
ソーシャルブックマークサービスのSEO力
by
Hiroumi Mitani
Google trends to_irc
by
rarere
検索数1万回以上でスマホ検索率80%以上のキーワード特長
by
新潟コンサルタント横田秀珠
MT LT 20100205
by
Taku AMANO
今からでも遅くない! 2から始めるangular js
by
Kohashi Daisuke
GroongaでRedmineを高速全文検索
by
Kouhei Sutou
全文検索でRedmineをさらに活用!
by
Kouhei Sutou
_gaTracker 第4回ミーティング『not providedをどうとらえるか』 いちしま泰樹
by
Yasuki Ichishima
ソーシャルブックマークサービスのSEO力
by
Hiroumi Mitani
Similar to Groongaの紹介と事例紹介
PDF
Groonga族2014
by
Kouhei Sutou
PDF
Groonga族2016
by
Kouhei Sutou
PDF
PGroongaの実装
by
Kouhei Sutou
PDF
Mroonga・PGroonga導入方法
by
Kouhei Sutou
PDF
Groonga族2015
by
Kouhei Sutou
PDF
Groongaの特徴
by
Kouhei Sutou
PDF
Groonga Meetup 2014/04/29
by
kenhys
PDF
初心者向けMroonga・PGroonga情報
by
Kouhei Sutou
PDF
PGroonga 2 - PostgreSQLでの全文検索の決定版
by
Kouhei Sutou
PDF
# groonga開発チームの紹介
by
kenhys
PDF
Mroonga!
by
Kouhei Sutou
PDF
Mroonga de fts
by
yoku0825
PDF
Droonga as-groonga-with-replication-droonga-as-groonga-with-replication
by
Hiroshi Yuki
PDF
Groongaを支える取り組み
by
kenhys
PDF
MySQL・PostgreSQL上で動かす全文検索エンジン「Groonga」セミナー
by
Kouhei Sutou
PDF
はじめてのDroonga
by
Hiroshi Yuki
PDF
PostgreSQLとPGroongaで作るPHPマニュアル高速全文検索システム
by
Kouhei Sutou
PDF
Mroonga Meetup 2014/06/29
by
kenhys
PDF
2013.11.29 Groongaでビジネスしませんか?
by
Shinichiro Minami
PDF
Droonga - 分散Groongaで快適レプリケーション生活
by
Hiroshi Yuki
Groonga族2014
by
Kouhei Sutou
Groonga族2016
by
Kouhei Sutou
PGroongaの実装
by
Kouhei Sutou
Mroonga・PGroonga導入方法
by
Kouhei Sutou
Groonga族2015
by
Kouhei Sutou
Groongaの特徴
by
Kouhei Sutou
Groonga Meetup 2014/04/29
by
kenhys
初心者向けMroonga・PGroonga情報
by
Kouhei Sutou
PGroonga 2 - PostgreSQLでの全文検索の決定版
by
Kouhei Sutou
# groonga開発チームの紹介
by
kenhys
Mroonga!
by
Kouhei Sutou
Mroonga de fts
by
yoku0825
Droonga as-groonga-with-replication-droonga-as-groonga-with-replication
by
Hiroshi Yuki
Groongaを支える取り組み
by
kenhys
MySQL・PostgreSQL上で動かす全文検索エンジン「Groonga」セミナー
by
Kouhei Sutou
はじめてのDroonga
by
Hiroshi Yuki
PostgreSQLとPGroongaで作るPHPマニュアル高速全文検索システム
by
Kouhei Sutou
Mroonga Meetup 2014/06/29
by
kenhys
2013.11.29 Groongaでビジネスしませんか?
by
Shinichiro Minami
Droonga - 分散Groongaで快適レプリケーション生活
by
Hiroshi Yuki
Groongaの紹介と事例紹介
1.
Groongaの紹介事例紹介 Powered�by�Rabbit�2.1.2 Groongaの紹介 事例紹介 Naoya�(@naoa̲y) 全⽂検索エンジンGroonga勉強会@神⼾ 2014/06/27
2.
Groongaの紹介事例紹介 Powered�by�Rabbit�2.1.2 今⽇の流れ みんなで自⼰紹介✓ Groongaについて紹介✓ 事例紹介✓ Groongaの今後への期待✓
3.
Groongaの紹介事例紹介 Powered�by�Rabbit�2.1.2 自⼰紹介 Naoya�(@naoa̲y) 大学は情報系✓ 新卒で3年半ほど⾦融系のユーザSI でインフラSE ✓ 現在は3年半ほどITと無縁の仕事✓ Groonga/Mroonga暦は2年ちょっ と ✓ ✓
4.
Groongaの紹介事例紹介 Powered�by�Rabbit�2.1.2 今⽇の流れ みんなで自⼰紹介✓ Groongaについて紹介✓ 事例紹介✓ Groongaの今後への期待✓
5.
Groongaの紹介事例紹介 Powered�by�Rabbit�2.1.2 今⽇の流れ できるだけ具体的なコマンド等 を⾒せていきます ✓ せっかく⼩規模なので途中で遮 ってもいいのでどんどん質問し てください。 ✓
6.
Groongaの紹介事例紹介 Powered�by�Rabbit�2.1.2 Groonga族の概要 ���������� ���� キー管理 転置索引
データストア データベース機能 クエリー⾔語 ������� コマンド ��� ���� ��� ��� ��������������������������������������������������������������������������������������������
7.
Groongaの紹介事例紹介 Powered�by�Rabbit�2.1.2 Groonga ���������� ���� キー管理 転置索引
データストア データベース機能 クエリー⾔語 ������� コマンド ��� ���� ��� ��������������������������������������������������������������������������������������������
8.
Groongaの紹介事例紹介 Powered�by�Rabbit�2.1.2 Groongaって? C⾔語で書かれた超⾼速な 全⽂検索ライブラリ/サーバ ✓ カラム指向のデータストア ⾼速な集計処理✓ ✓ 即時更新 新鮮な情報をすぐに検索可能に✓ ✓
9.
Groongaの紹介事例紹介 Powered�by�Rabbit�2.1.2 Groongaって? 専用のRDBほど複雑な表現は 難しいがほぼRDBに近いイメ ージでテーブル設計ができる ✓ 転置索引を使った⾼速全⽂検索 ⽂字列をトークンに分割し、トーク ンが⼀致する⽂書IDを検索すること により大幅に演算量を減らす ✓ ✓
10.
Groongaの紹介事例紹介 Powered�by�Rabbit�2.1.2 Groongaの全⽂検索の流れ ⼊⼒⽂を正規化 例:This�is�a�pen.�→�this�is�a� pen. ✓ ✓ ⼊⼒⽂をトークンに分割 例:今⽇は⾬�→�今⽇/は/⾬✓ ✓ 転置索引を更新/検索 分割したトークンとトークンの⽂書 IDと⽂書IDにおける出現位置情報を 記憶/検索 ✓ ✓
11.
Groongaの紹介事例紹介 Powered�by�Rabbit�2.1.2 Groongaの全⽂検索の流れ Groongaではライブラリとし て利用してもこれらの作業を勝 ⼿にやってくれる ✓ たぶんApache�Luceneはひと つひとつやらないといけない (たぶん) ✓
12.
Groongaの紹介事例紹介 Powered�by�Rabbit�2.1.2 Groonga�CLI ���������� ���� キー管理 転置索引
データストア データベース機能 クエリー⾔語 ������� コマンド ��� ���� ��� ��� ��������������������������������������������������������������������������������������������
13.
Groongaの紹介事例紹介 Powered�by�Rabbit�2.1.2 Groonga�CLI CLI�コマンドラインインターフ ェース 対話的にちょっとしたデータを確認 したいときやクエリの組み⽴てに便 利 ✓ 最近のNoSQL系はほとんどJSONイ ンターフェース ✓ 息を吐くようにスクリプトでJSON かける⼈なら無くてもいいだろうけ ど、そうではないのでCLIがあるの は凄い便利 ✓ ✓
14.
Groongaの紹介事例紹介 Powered�by�Rabbit�2.1.2 Groonga�HTTP ���������� ���� キー管理 転置索引
データストア データベース機能 クエリー⾔語 ������� コマンド ��� ���� ��� ��� ��������������������������������������������������������������������������������������������
15.
Groongaの紹介事例紹介 Powered�by�Rabbit�2.1.2 Groonga�HTTP GroongaのHTTPはnginx組み 込みと独自実装の2つ ✓ nginxの豊富な機能を使う場合 はgroonga-httpd ✓ 単純に使うだけならgroonga コマンドをhttpモードで起動 サービスとして導⼊したい場合は groonga-server-httpをインストー ル ✓ ✓
16.
Groongaの紹介事例紹介 Powered�by�Rabbit�2.1.2 Groonga�GQTP ���������� ���� キー管理 転置索引
データストア データベース機能 クエリー⾔語 ������� コマンド ��� ���� ��� ��� ��������������������������������������������������������������������������������������������
17.
Groongaの紹介事例紹介 Powered�by�Rabbit�2.1.2 Groonga�GQTP コマンドと同じようにしてリモ ートのサーバと直接会話できる ✓ groongaコマンドをgqtpモー ド起動 サービスとして導⼊したい場合は groonga-server-gqtpをインスト ール ✓ ✓ 今後非推奨になる✓
18.
Groongaの紹介事例紹介 Powered�by�Rabbit�2.1.2 Groongaライブラリ ���������� ���� キー管理 転置索引
データストア データベース機能 クエリー⾔語 ������� コマンド ��� ���� ��� ��� ��������������������������������������������������������������������������������������������
19.
Groongaの紹介事例紹介 Powered�by�Rabbit�2.1.2 Groongaライブラリ サーバを⽴てずにGroongaを 組み込んでアプリを作る場合は これ ✓ 結構難しい。が、コマンドを直 接投げたり受けたりするモード があるのでそれを使うだけなら 簡単 ✓ 難しいことしないならLucene よりはるかに簡単?かも ✓
20.
Groongaの紹介事例紹介 Powered�by�Rabbit�2.1.2 C⾔語でのクエリAPI ��������������������������������������������������������������������� ���������������������������������������������������������������������������������� �������������������� ������������ ������������ ������������������������������ ����������� ���������������������� ����������������������������� ������������������������������������� �������������������������������������������������������������� ������������������������������������������������������� ������������������ ����������
21.
Groongaの紹介事例紹介 Powered�by�Rabbit�2.1.2 Mroonga ���������� ���� キー管理 転置索引
データストア データベース機能 クエリー⾔語 ������� コマンド ��� ���� ��� ��� ��������������������������������������������������������������������������������������������
22.
Groongaの紹介事例紹介 Powered�by�Rabbit�2.1.2 Mroongaって? Groongaをライブラリとして 利用して全⽂検索機能が組み込 まれたMySQLのストレージエ ンジン ✓ SQLで簡単に全⽂検索が可能✓ MariaDBにもバンドル予 定 ? ✓
23.
Groongaの紹介事例紹介 Powered�by�Rabbit�2.1.2 Mroongaって? SQLでGroongaのコマンドよ りも柔軟なデータ操作ができる ※全⽂検索以外はMySQLの層でデ ータ操作するので同じ操作でも Groongaよりも遅くなることも ✓ ✓ 関数やツールなどMySQLの豊 富な資産が利用できる phpMyAdmin、レプリケーショ ン、バックアップ�etc ✓ ✓
24.
Groongaの紹介事例紹介 Powered�by�Rabbit�2.1.2 Rroonga ���������� ���� キー管理 転置索引
データストア データベース機能 クエリー⾔語 ������� コマンド ��� ���� ��� ��� ��������������������������������������������������������������������������������������������
25.
Groongaの紹介事例紹介 Powered�by�Rabbit�2.1.2 Rroongaって? Rubyらしい記法でGroongaラ イブラリを利用できる ✓ gemで⼀発インストール ※Windows以外は数⼗分必要✓ ✓ RubyとGroongaが動けば使え る クロスプラットフォーム(Win/ Linux/Mac) ✓ ✓
26.
Groongaの紹介事例紹介 Powered�by�Rabbit�2.1.2 Rroongaって? ライブラリとして利用できるの で他にサーバが不要(≒SQLite) ✓ Rubyなのでメモリ管理や⽂字 列操作、データの操作が抜群に 楽 ✓ データベースAPIレベルが使え るので組み込みコマンド以上の 複雑な操作をRubyで実現可能 ✓
27.
Groongaの紹介事例紹介 Powered�by�Rabbit�2.1.2 どれを使うべき? サーバ経由でGroongaを使っ て⾼速な全⽂検索をしたい Groonga�HTTP/GQTP�Mroonga✓ ✓ 既存のMySQLのツールや複雑 なSQLを扱いたい(速度差に注 意) Mroonga✓ ✓
28.
Groongaの紹介事例紹介 Powered�by�Rabbit�2.1.2 どれを使うべき? Rubyで全⽂検索アプリケーシ ョンを作りたい Rroonga�✓ ✓ 他の⾔語で全⽂検索アプリケー ションを作りたい Groonga�GObject http://qiita.com/groonga/ items/71b145b37d77bd160bf2 ✓ ✓
29.
Groongaの紹介事例紹介 Powered�by�Rabbit�2.1.2 どれを使うべき? サーバ経由もしくはクライアン トでGroongaの⼒を100%使 いたい Groonga✓ ✓ 超大規模なデータベースで全⽂ 検索したい Droonga、Mroonga�&�Spider✓ ✓
30.
Groongaの紹介事例紹介 Powered�by�Rabbit�2.1.2 Groongaってどのくらい速 い? 検索性能は⽂書やトークナイズ の仕⽅にかなり左右される ✓ ⽇本語の⽂書でBigram(2⽂字 ごと)なら数⼗GiB超でも余裕 ✓ ⽇本語の⽂書でTrigram(3⽂字 ごと)なら100GiB超でも余裕 ✓ MeCabは単語間の検索性能に 偏りが出やすい ✓
31.
Groongaの紹介事例紹介 Powered�by�Rabbit�2.1.2 Groongaってどのくらい速 い? 英語のみの⽂書でBigramにす ると10GiB、20GiBでかなり苦 しい ✓ 英語の⽂書をNgramにするな らTokenTrigramのSplitBy系 が欲しいところ ✓
32.
Groongaの紹介事例紹介 Powered�by�Rabbit�2.1.2 Groongaの拡張性 以下をC⾔語のプラグインで拡 張することができる トークナイザ✓ ノーマライザ✓ コマンド✓ 関数✓ ✓ ただし情報は少なくC⾔語なの で単なる⽂字列操作も大変 ✓
33.
Groongaの紹介事例紹介 Powered�by�Rabbit�2.1.2 Groongaの紹介 終わり✓ 質問があれば受け付ける✓ ここで休憩�&�雑談✓
34.
Groongaの紹介事例紹介 Powered�by�Rabbit�2.1.2 今⽇の流れ みんなで自⼰紹介✓ Groongaについて紹介✓ 事例紹介✓ Groongaの今後への期待✓
35.
Groongaの紹介事例紹介 Powered�by�Rabbit�2.1.2 事例紹介 特許の全⽂検索サービスを個⼈ で作りました。 http://patentfield.com✓ まだデザイン⾯とか使い⽅とか⼒を いれてないのでその辺は気にしない ✓ ✓
36.
Groongaの紹介事例紹介 Powered�by�Rabbit�2.1.2 現状の公的サービス 700万件以上蓄積されているの に1000件以下に絞り込まない と表⽰できない ✓ ソートできない、検索結果から 絞込みできない ✓ 検索結果で番号とタイトルと出 願⼈以外表⽰できない ✓ DBがいくつも分かれていて検 索対象にできない項目が多数 ✓
37.
Groongaの紹介事例紹介 Powered�by�Rabbit�2.1.2 システム概要 最大で1000万件、データサイ ズ400GiB超�トータルで1.5TB ぐらい ✓ カラム数は100ぐらい✓ Mroongaを利用✓ 複雑な絞込みやドリルダウンを 使いたいため全⽂検索は Groongaを利用 ✓
38.
Groongaの紹介事例紹介 Powered�by�Rabbit�2.1.2 全⽂検索時 ���������� キー管理 転置索引
データストア データベース機能 クエリー⾔語 ������� コマンド ��� ��� ������������������������
39.
Groongaの紹介事例紹介 Powered�by�Rabbit�2.1.2 更新・メンテナンス時 ���������� キー管理 転置索引
データストア データベース機能 クエリー⾔語 ������� コマンド ��� ������ ������
40.
Groongaの紹介事例紹介 Powered�by�Rabbit�2.1.2 Groongaで使った機能 全⽂検索✓ 重み付け✓ ドリルダウン✓ サジェスト✓ 近傍検索✓ 類似検索✓ スニペット✓
41.
Groongaの紹介事例紹介 Powered�by�Rabbit�2.1.2 トークナイザによる検索性能 差 400GiBのデータベースを標準 のTokenBigramすると検索速 度がかなり劣化 ✓ TokenMecabを採用�しかし、 Mecabでは助詞等の頻出用語 を含むと性能が顕著に劣化 ✓ トークナイザプラグインで頻出 用語を除去することで回避 ✓
42.
Groongaの紹介事例紹介 Powered�by�Rabbit�2.1.2 英語の複数形・過去形の取扱 英語でTokenBigramを使うと 単語ごとにトークナイズされる ✓ これでは複数形や過去形を検索 できない ✓ トークナイザプラグインでステ ミングを追加することで回避 ⼀定のルールで複数形や過去形っぽ い末尾を削除してくれる ✓ ✓
43.
Groongaの紹介事例紹介 Powered�by�Rabbit�2.1.2 ノーマライザのカスタマイズ カタカナの⼩⽂字、大⽂字の扱 いがばらばら 例:フィルム⇔フイルム✓ ✓ 古いデータでは⻑⾳記号がハイ フンだったり 例:データベース⇔デ-タベ-ス✓ ✓ ノーマライザプラグインでこれ らを同⼀視 ✓
44.
Groongaの紹介事例紹介 Powered�by�Rabbit�2.1.2 大量レコードのドリルダウン による性能劣化 全⽂検索結果で大量にレコード があるとドリルダウンはコスト が⾼い 100万件以上はドリルダウンしない ように組み込みselectコマンドをい じる ✓ C⾔語やRroongaでDB-APIを使う ことでも解消可能 ✓ ✓
45.
Groongaの紹介事例紹介 Powered�by�Rabbit�2.1.2 複数カラム絞込みスニペット Groonga組み込みの snipet̲html関数はカラムを指 定するだけで便利 ✓ しかし、対象のカラム以外の検 索クエリも対象としてしまう ✓ ノーマライザの指定ができない✓ Mroongaと同等のスニペット 関数プラグインで作る ✓
46.
Groongaの紹介事例紹介 Powered�by�Rabbit�2.1.2 感想 400GiB超のデータベースが1 台でさばけるとは思わなかった ✓ このサイズを1台で⾼速に検索 できるというのはすごく夢が広 がる ✓
47.
Groongaの紹介事例紹介 Powered�by�Rabbit�2.1.2 感想 個⼈や少⼈数でも少し昔では考 えられなかった規模の全⽂検索 システムを作ることができる ✓ メーリングリストが親切なので プログラミング経験がほとんど なくても作れた ✓ 今後はRubyで全⽂検索デスク トップアプリを作りたい! ✓
48.
Groongaの紹介事例紹介 Powered�by�Rabbit�2.1.2 事例紹介 終わり✓ 質問があれば受け付ける✓ ここで休憩�&�雑談✓
49.
Groongaの紹介事例紹介 Powered�by�Rabbit�2.1.2 お疲れ様 でした
Download