狠狠撸

狠狠撸Share a Scribd company logo
Mroonga Meetup Powered by Rabbit 2.1.2
Mroonga
Meetup
HAYASHI Kentaro クリアコード
2014/06/29
Mroonga Meetup Powered by Rabbit 2.1.2
はじめに
開催の目的
自己紹介
Mroongaとは
Mroonga Meetup Powered by Rabbit 2.1.2
はじめに(2)
インストール
課題と演習
Any Questions?
片付け撤退
Mroonga Meetup Powered by Rabbit 2.1.2
開催の目的
「全文検索をしたい人の最初の一歩を踏みだしやすくしよう」
Mroonga Meetup Powered by Rabbit 2.1.2
自己紹介タイム
参加のきっかけ
Groonga族とのかかわり
Mroonga Meetup Powered by Rabbit 2.1.2
Mroongaとは
Tritonnの後継
Sennaを組み込んだプロダクト
Tritonnの制約を解消
Mroonga Meetup Powered by Rabbit 2.1.2
Tritonn vs Mroonga(1)
TritonnはMySQLへのパッチ前提
Mroongaはプラグインとして導
入できる
Mroonga Meetup Powered by Rabbit 2.1.2
Tritonn vs Mroonga(2)
Tritonnはテーブルロックでス
ケールしない
Mroongaは参照ロックフリー
検索/更新性能の向上
Mroonga Meetup Powered by Rabbit 2.1.2
Mroongaとパッケージ
Debian
Ubuntu
CentOS
Fedora
Windows
Mroonga Meetup Powered by Rabbit 2.1.2
Mroonga on Debian
MySQL 5.5系
Debian 7.4 (wheezy)
Debian 8 (jessie)
Debian unstable (sid)
Mroonga Meetup Powered by Rabbit 2.1.2
Mroonga on Ubuntu
PPA (Launchpad)でリリース
MySQL 5.5系
Ubuntu 12.04 (Precise)
Ubuntu 13.10 (Saucy)
来月でサポート終了
Ubuntu 14.04 (Trusty)
Mroonga Meetup Powered by Rabbit 2.1.2
PPA on Launchpad
PPAでのインストール
sudo add-apt-repository -y universe
sudo add-apt-repository -y ppa:groonga/ppa
sudo apt-get update
sudo apt-get install -y -V mysql-server-mroonga
Mroonga Meetup Powered by Rabbit 2.1.2
Mroonga on CentOS 5
CentOS 5
以前はMySQLが古すぎたので、
MySQL 5.6対応パッケージを提供
MySQL 5.5(SCL)対応パッケージに移
行
Mroonga Meetup Powered by Rabbit 2.1.2
Mroonga on CentOS 6
CentOS 6
MySQL 5.1しか使えないというのは
古い情報です!
MySQL 5.5対応(SCL)パッケージに移
行
Mroonga Meetup Powered by Rabbit 2.1.2
Mroonga on CentOS
CentOS 5やCentOS 6でMySQL 5.6
wingリポジトリをお勧めしています
http://wing-repo.net/
Mroonga Meetup Powered by Rabbit 2.1.2
Mroonga on Fedora
Fedora 20
MySQL 5.5 & MariaDB 5.5対応
MariaDB 5.5対応がつらいのでやや
古い
Fedora公式リポジトリでは未リリー
ス
Mroonga含めてインストールしたいなら
Groongaリポジトリを登録する
Mroonga Meetup Powered by Rabbit 2.1.2
Mroonga on Windows
従来zipのみ提供
ビルド協力者増加によりmsiも
提供
Mroonga Meetup Powered by Rabbit 2.1.2
Mroongaの動作モードの違い
ラッパーモード
データは他のストレージエンジンに
格納
全文検索をMroongaでがんばる
トランザクションでロールバックすると不
整合発生
チューニングはMySQLの範囲で
Mroonga Meetup Powered by Rabbit 2.1.2
Mroongaの動作モードの違い
(2)
ストレージモード
全部Mroongaでがんばる
トランザクション何それ?
Mroonga Meetup Powered by Rabbit 2.1.2
ストレージモード
ENGINE=mroongaと覚えましょう
Mroonga Meetup Powered by Rabbit 2.1.2
ラッパーモード
コメントでエンジンを指定
ENGINE=mroonga COMMENT='engine "innodb"'
Mroonga Meetup Powered by Rabbit 2.1.2
パーサーの指定
コメントでパーサーを指定
Groongaの用語だとトークナイザ
ー
FULLTEXT INDEX (content) COMMENT 'parser "TokenMecab"'
Mroonga Meetup Powered by Rabbit 2.1.2
ノーマライザーの指定
コメントでノーマライザーを指
定
FULLTEXT INDEX (content) COMMENT 'normalizer "NormalizerAuto"'
Mroonga Meetup Powered by Rabbit 2.1.2
パーサー&ノーマライザーの
指定
両方指定したいときは,で区切る
FULLTEXT INDEX (content) COMMENT 'parser "TokenMecab", normalizer "NormalizerAuto"'
Mroonga Meetup Powered by Rabbit 2.1.2
MATCH AGAINSTとBOOLEAN
MODE
QUERY EXPANSION MODE
MySQLにおまかせの類似文書検索
BOOLEAN MODE
明示的に検索を制御
Mroonga Meetup Powered by Rabbit 2.1.2
UDF(ユーザ定義関数)
last_insert_grn_id
mroonga_snippet
mroonga_escape
mroonga_command
Mroonga Meetup Powered by Rabbit 2.1.2
last_insert_grn_id
最後に挿入したレコードのIDを
返す関数
ストレージモード用
Mroonga Meetup Powered by Rabbit 2.1.2
mroonga_snippet
スニペットを返す関数
Mroonga Meetup Powered by Rabbit 2.1.2
mroonga_escape
クエリを適宜エスケープするた
めの関数
複数のキーワードは別途がんば
る必要あり
Mroonga Meetup Powered by Rabbit 2.1.2
mroonga_command
MroongaからGroongaの機能を直
接叩くための関数
Mroonga Meetup Powered by Rabbit 2.1.2
実践してみよう
位置情報検索
エスケープ
重みづけして検索してみよう
http://packages.groonga.org/
tmp/qiita-article.txt
Mroonga Meetup Powered by Rabbit 2.1.2
位置情報検索
?Qiitaの位置情報検索の記事を試してみよう
http://qiita.com/groonga/items/7abca5004d2ae386d388
Mroonga Meetup Powered by Rabbit 2.1.2
mroonga_escapeを使ってみよ
う
?Qiitaのmroonga_escapeの記事を試してみよう
http://qiita.com/groonga/items/0ae7f637525c7b5f2cb1
Mroonga Meetup Powered by Rabbit 2.1.2
重みづけして検索してみよう
?QiitaのWプラグマの記事を試してみよう
http://qiita.com/groonga/items/8bcd5f9647f62b96584f
Mroonga Meetup Powered by Rabbit 2.1.2
Groonga vs Mroonga
既存資産があるならMroonga
mroonga_commandを活用
Mroonga Meetup Powered by Rabbit 2.1.2
大規模なデータを使いたい
Wikipedia
情報学研究データリポジトリ
Mroonga Meetup Powered by Rabbit 2.1.2
Wikipedia
ウィキペディア日本語版
http://ja.wikipedia.org/wiki/
Wikipedia:データベースダウンロー
ド
Mroonga Meetup Powered by Rabbit 2.1.2
情報学研究データリポジトリ
(1)
国立情報学研究所
http://www.nii.ac.jp/
cscenter/idr/index.html
データセットをいくつか提供
Mroonga Meetup Powered by Rabbit 2.1.2
情報学研究データリポジトリ
(2)
ニコニコデータセット
ニコニコ動画コメント等データ
ニコニコ大百科データ
Mroonga Meetup Powered by Rabbit 2.1.2
ニコニコ動画コメント等デー
タ(1)
動画メタデータ
2012年11月初旬までのデータ
IDなど個人を特定しないデータ
タイトル,説明文,タグ,投稿日時,再
生数,コメント等
約12GBほど
Mroonga Meetup Powered by Rabbit 2.1.2
ニコニコ動画コメント等デー
タ(2)
ニコニコ大百科データ
2014年2月上旬までのデータ
約300GB
Mroonga Meetup Powered by Rabbit 2.1.2
感謝
WEICさん
会場提供ありがとうございま
す!
Mroonga Meetup Powered by Rabbit 2.1.2
おわり
Any Questions?

More Related Content

What's hot (6)

PDF
惭测狈础ができるまで
Masahiro Tomita
?
PDF
骋谤辞辞苍驳补族2013
Kouhei Sutou
?
PPTX
これから始める人のための自動化入門 ?Ubuntu Jujuを使って?
VirtualTech Japan Inc.
?
PPTX
これから始める人のための自動化入門~Ubuntu Jujuを使って?– OpenStack最新情報セミナー 2015年7月
VirtualTech Japan Inc.
?
PPTX
Ubuntu Jujuを使ったOpenStack環境構築 – OpenStack最新情報セミナー 2015年7月
VirtualTech Japan Inc.
?
PPTX
GMOアプリクラウドではじめる Photon Server v4 (2016/4/20 発表資料)
GMO GlobalSign Holdings K.K.
?
惭测狈础ができるまで
Masahiro Tomita
?
骋谤辞辞苍驳补族2013
Kouhei Sutou
?
これから始める人のための自動化入門 ?Ubuntu Jujuを使って?
VirtualTech Japan Inc.
?
これから始める人のための自動化入門~Ubuntu Jujuを使って?– OpenStack最新情報セミナー 2015年7月
VirtualTech Japan Inc.
?
Ubuntu Jujuを使ったOpenStack環境構築 – OpenStack最新情報セミナー 2015年7月
VirtualTech Japan Inc.
?
GMOアプリクラウドではじめる Photon Server v4 (2016/4/20 発表資料)
GMO GlobalSign Holdings K.K.
?

Viewers also liked (7)

PDF
顿别产颈补苍と贵别诲辞谤补でパッケージをリリースするまでの话
kenhys
?
PDF
顿别产颈补苍のインフラを借りるには
kenhys
?
PDF
骋谤辞辞苍驳补を支える取り组み
kenhys
?
PDF
诲别产别虫辫辞(尘别苍迟辞谤蝉.诲.苍)をハックするには
kenhys
?
PDF
2013.11.29 Groongaでビジネスしませんか?
Shinichiro Minami
?
PDF
# groonga開発チームの紹介
kenhys
?
PDF
顿别产颈补苍で贵颈谤别蹿辞虫をカスタマイズするには
kenhys
?
顿别产颈补苍と贵别诲辞谤补でパッケージをリリースするまでの话
kenhys
?
顿别产颈补苍のインフラを借りるには
kenhys
?
骋谤辞辞苍驳补を支える取り组み
kenhys
?
诲别产别虫辫辞(尘别苍迟辞谤蝉.诲.苍)をハックするには
kenhys
?
2013.11.29 Groongaでビジネスしませんか?
Shinichiro Minami
?
# groonga開発チームの紹介
kenhys
?
顿别产颈补苍で贵颈谤别蹿辞虫をカスタマイズするには
kenhys
?
Ad

Similar to Mroonga Meetup 2014/06/29 (12)

PDF
MySQL 5.6への完全移行を実現したTritonnからMroongaへの移行体験記
Kentaro Yoshida
?
PDF
惭谤辞辞苍驳补开発者が来たぞ!
Kouhei Sutou
?
PDF
Droonga as-groonga-with-replication-droonga-as-groonga-with-replication
Hiroshi Yuki
?
PDF
骋谤辞辞苍驳补族2015
Kouhei Sutou
?
PDF
骋谤辞辞苍驳补族2016
Kouhei Sutou
?
PDF
惭谤辞辞苍驳补と笔骋谤辞辞苍驳补
Kouhei Sutou
?
PDF
顿辞肠办别谤イメージで谁でも気軽に惭谤辞辞苍驳补体験
yoku0825
?
PDF
惭谤辞辞苍驳补?笔骋谤辞辞苍驳补导入方法
Kouhei Sutou
?
PDF
Mroonga 20121129
Kentoku
?
PDF
骋谤辞辞苍驳补族2014
Kouhei Sutou
?
PDF
Start-padrino
Uchio Kondo
?
PDF
初心者向け惭谤辞辞苍驳补?笔骋谤辞辞苍驳补情报
Kouhei Sutou
?
MySQL 5.6への完全移行を実現したTritonnからMroongaへの移行体験記
Kentaro Yoshida
?
惭谤辞辞苍驳补开発者が来たぞ!
Kouhei Sutou
?
Droonga as-groonga-with-replication-droonga-as-groonga-with-replication
Hiroshi Yuki
?
骋谤辞辞苍驳补族2015
Kouhei Sutou
?
骋谤辞辞苍驳补族2016
Kouhei Sutou
?
惭谤辞辞苍驳补と笔骋谤辞辞苍驳补
Kouhei Sutou
?
顿辞肠办别谤イメージで谁でも気軽に惭谤辞辞苍驳补体験
yoku0825
?
惭谤辞辞苍驳补?笔骋谤辞辞苍驳补导入方法
Kouhei Sutou
?
Mroonga 20121129
Kentoku
?
骋谤辞辞苍驳补族2014
Kouhei Sutou
?
Start-padrino
Uchio Kondo
?
初心者向け惭谤辞辞苍驳补?笔骋谤辞辞苍驳补情报
Kouhei Sutou
?
Ad

Mroonga Meetup 2014/06/29

  • 1. Mroonga Meetup Powered by Rabbit 2.1.2 Mroonga Meetup HAYASHI Kentaro クリアコード 2014/06/29
  • 2. Mroonga Meetup Powered by Rabbit 2.1.2 はじめに 開催の目的 自己紹介 Mroongaとは
  • 3. Mroonga Meetup Powered by Rabbit 2.1.2 はじめに(2) インストール 課題と演習 Any Questions? 片付け撤退
  • 4. Mroonga Meetup Powered by Rabbit 2.1.2 開催の目的 「全文検索をしたい人の最初の一歩を踏みだしやすくしよう」
  • 5. Mroonga Meetup Powered by Rabbit 2.1.2 自己紹介タイム 参加のきっかけ Groonga族とのかかわり
  • 6. Mroonga Meetup Powered by Rabbit 2.1.2 Mroongaとは Tritonnの後継 Sennaを組み込んだプロダクト Tritonnの制約を解消
  • 7. Mroonga Meetup Powered by Rabbit 2.1.2 Tritonn vs Mroonga(1) TritonnはMySQLへのパッチ前提 Mroongaはプラグインとして導 入できる
  • 8. Mroonga Meetup Powered by Rabbit 2.1.2 Tritonn vs Mroonga(2) Tritonnはテーブルロックでス ケールしない Mroongaは参照ロックフリー 検索/更新性能の向上
  • 9. Mroonga Meetup Powered by Rabbit 2.1.2 Mroongaとパッケージ Debian Ubuntu CentOS Fedora Windows
  • 10. Mroonga Meetup Powered by Rabbit 2.1.2 Mroonga on Debian MySQL 5.5系 Debian 7.4 (wheezy) Debian 8 (jessie) Debian unstable (sid)
  • 11. Mroonga Meetup Powered by Rabbit 2.1.2 Mroonga on Ubuntu PPA (Launchpad)でリリース MySQL 5.5系 Ubuntu 12.04 (Precise) Ubuntu 13.10 (Saucy) 来月でサポート終了 Ubuntu 14.04 (Trusty)
  • 12. Mroonga Meetup Powered by Rabbit 2.1.2 PPA on Launchpad PPAでのインストール sudo add-apt-repository -y universe sudo add-apt-repository -y ppa:groonga/ppa sudo apt-get update sudo apt-get install -y -V mysql-server-mroonga
  • 13. Mroonga Meetup Powered by Rabbit 2.1.2 Mroonga on CentOS 5 CentOS 5 以前はMySQLが古すぎたので、 MySQL 5.6対応パッケージを提供 MySQL 5.5(SCL)対応パッケージに移 行
  • 14. Mroonga Meetup Powered by Rabbit 2.1.2 Mroonga on CentOS 6 CentOS 6 MySQL 5.1しか使えないというのは 古い情報です! MySQL 5.5対応(SCL)パッケージに移 行
  • 15. Mroonga Meetup Powered by Rabbit 2.1.2 Mroonga on CentOS CentOS 5やCentOS 6でMySQL 5.6 wingリポジトリをお勧めしています http://wing-repo.net/
  • 16. Mroonga Meetup Powered by Rabbit 2.1.2 Mroonga on Fedora Fedora 20 MySQL 5.5 & MariaDB 5.5対応 MariaDB 5.5対応がつらいのでやや 古い Fedora公式リポジトリでは未リリー ス Mroonga含めてインストールしたいなら Groongaリポジトリを登録する
  • 17. Mroonga Meetup Powered by Rabbit 2.1.2 Mroonga on Windows 従来zipのみ提供 ビルド協力者増加によりmsiも 提供
  • 18. Mroonga Meetup Powered by Rabbit 2.1.2 Mroongaの動作モードの違い ラッパーモード データは他のストレージエンジンに 格納 全文検索をMroongaでがんばる トランザクションでロールバックすると不 整合発生 チューニングはMySQLの範囲で
  • 19. Mroonga Meetup Powered by Rabbit 2.1.2 Mroongaの動作モードの違い (2) ストレージモード 全部Mroongaでがんばる トランザクション何それ?
  • 20. Mroonga Meetup Powered by Rabbit 2.1.2 ストレージモード ENGINE=mroongaと覚えましょう
  • 21. Mroonga Meetup Powered by Rabbit 2.1.2 ラッパーモード コメントでエンジンを指定 ENGINE=mroonga COMMENT='engine "innodb"'
  • 22. Mroonga Meetup Powered by Rabbit 2.1.2 パーサーの指定 コメントでパーサーを指定 Groongaの用語だとトークナイザ ー FULLTEXT INDEX (content) COMMENT 'parser "TokenMecab"'
  • 23. Mroonga Meetup Powered by Rabbit 2.1.2 ノーマライザーの指定 コメントでノーマライザーを指 定 FULLTEXT INDEX (content) COMMENT 'normalizer "NormalizerAuto"'
  • 24. Mroonga Meetup Powered by Rabbit 2.1.2 パーサー&ノーマライザーの 指定 両方指定したいときは,で区切る FULLTEXT INDEX (content) COMMENT 'parser "TokenMecab", normalizer "NormalizerAuto"'
  • 25. Mroonga Meetup Powered by Rabbit 2.1.2 MATCH AGAINSTとBOOLEAN MODE QUERY EXPANSION MODE MySQLにおまかせの類似文書検索 BOOLEAN MODE 明示的に検索を制御
  • 26. Mroonga Meetup Powered by Rabbit 2.1.2 UDF(ユーザ定義関数) last_insert_grn_id mroonga_snippet mroonga_escape mroonga_command
  • 27. Mroonga Meetup Powered by Rabbit 2.1.2 last_insert_grn_id 最後に挿入したレコードのIDを 返す関数 ストレージモード用
  • 28. Mroonga Meetup Powered by Rabbit 2.1.2 mroonga_snippet スニペットを返す関数
  • 29. Mroonga Meetup Powered by Rabbit 2.1.2 mroonga_escape クエリを適宜エスケープするた めの関数 複数のキーワードは別途がんば る必要あり
  • 30. Mroonga Meetup Powered by Rabbit 2.1.2 mroonga_command MroongaからGroongaの機能を直 接叩くための関数
  • 31. Mroonga Meetup Powered by Rabbit 2.1.2 実践してみよう 位置情報検索 エスケープ 重みづけして検索してみよう http://packages.groonga.org/ tmp/qiita-article.txt
  • 32. Mroonga Meetup Powered by Rabbit 2.1.2 位置情報検索 ?Qiitaの位置情報検索の記事を試してみよう http://qiita.com/groonga/items/7abca5004d2ae386d388
  • 33. Mroonga Meetup Powered by Rabbit 2.1.2 mroonga_escapeを使ってみよ う ?Qiitaのmroonga_escapeの記事を試してみよう http://qiita.com/groonga/items/0ae7f637525c7b5f2cb1
  • 34. Mroonga Meetup Powered by Rabbit 2.1.2 重みづけして検索してみよう ?QiitaのWプラグマの記事を試してみよう http://qiita.com/groonga/items/8bcd5f9647f62b96584f
  • 35. Mroonga Meetup Powered by Rabbit 2.1.2 Groonga vs Mroonga 既存資産があるならMroonga mroonga_commandを活用
  • 36. Mroonga Meetup Powered by Rabbit 2.1.2 大規模なデータを使いたい Wikipedia 情報学研究データリポジトリ
  • 37. Mroonga Meetup Powered by Rabbit 2.1.2 Wikipedia ウィキペディア日本語版 http://ja.wikipedia.org/wiki/ Wikipedia:データベースダウンロー ド
  • 38. Mroonga Meetup Powered by Rabbit 2.1.2 情報学研究データリポジトリ (1) 国立情報学研究所 http://www.nii.ac.jp/ cscenter/idr/index.html データセットをいくつか提供
  • 39. Mroonga Meetup Powered by Rabbit 2.1.2 情報学研究データリポジトリ (2) ニコニコデータセット ニコニコ動画コメント等データ ニコニコ大百科データ
  • 40. Mroonga Meetup Powered by Rabbit 2.1.2 ニコニコ動画コメント等デー タ(1) 動画メタデータ 2012年11月初旬までのデータ IDなど個人を特定しないデータ タイトル,説明文,タグ,投稿日時,再 生数,コメント等 約12GBほど
  • 41. Mroonga Meetup Powered by Rabbit 2.1.2 ニコニコ動画コメント等デー タ(2) ニコニコ大百科データ 2014年2月上旬までのデータ 約300GB
  • 42. Mroonga Meetup Powered by Rabbit 2.1.2 感謝 WEICさん 会場提供ありがとうございま す!
  • 43. Mroonga Meetup Powered by Rabbit 2.1.2 おわり Any Questions?