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 ...
Mroonga Meetup Powered by Rabbit 2.1.2
Mroonga on Ubuntu
PPA (Launchpad)でリリース
MySQL 5.5系
Ubuntu 12.04 (Precise)
Ubuntu 13....
Mroonga Meetup Powered by Rabbit 2.1.2
PPA on Launchpad
PPAでのインストール
sudo add-apt-repository -y universe
sudo add-apt-repos...
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.n...
Mroonga Meetup Powered by Rabbit 2.1.2
Mroonga on Fedora
Fedora 20
MySQL 5.5 & MariaDB 5.5対応
MariaDB 5.5対応がつらいのでやや
古い
Fedo...
Mroonga Meetup Powered by Rabbit 2.1.2
Mroonga on Windows
従来zipのみ提供
ビルド協力者増加によりmsiも
提供
Mroonga Meetup Powered by Rabbit 2.1.2
Mroongaの動作モードの違い
ラッパーモード
データは他のストレージエンジンに
格納
全文検索をMroongaでがんばる
トランザクションでロールバックすると不
...
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 ...
Mroonga Meetup Powered by Rabbit 2.1.2
ノーマライザーの指定
コメントでノーマライザーを指
定
FULLTEXT INDEX (content) COMMENT 'normalizer "Normalize...
Mroonga Meetup Powered by Rabbit 2.1.2
パーサー&ノーマライザーの
指定
両方指定したいときは,で区切る
FULLTEXT INDEX (content) COMMENT 'parser "TokenMec...
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.t...
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/ite...
Mroonga Meetup Powered by Rabbit 2.1.2
重みづけして検索してみよう
⏳QiitaのWプラグマの記事を試してみよう
http://qiita.com/groonga/items/8bcd5f9647f62b9...
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など個人を特定しないデータ
タイトル,説明文,タグ,投稿日時,再
生数,コ...
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?
Upcoming SlideShare
Loading in …5
×

Mroonga Meetup 2014/06/29

575 views

Published on

2014年6月29日に行われたMroonga Meetupで使用したスライドです。
Mroongaを初めて触れる人向けに演習を通じて基本をおさえてもらうための資料です。

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
575
On SlideShare
0
From Embeds
0
Number of Embeds
22
Actions
Shares
0
Downloads
2
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Mroonga Meetup 2014/06/29

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

×