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
EN
Uploaded by
yoyamasaki
5,880 views
Mysql+Mroongaで全文検索
「MySQL勉強会 in 大阪(第6回)」 http://atnd.org/events/49005 で、あかやまさんに発表頂いた時の資料です。
Software
◦
Read more
4
Save
Share
Embed
Embed presentation
Download
Downloaded 21 times
1
/ 11
2
/ 11
3
/ 11
4
/ 11
5
/ 11
6
/ 11
7
/ 11
8
/ 11
9
/ 11
10
/ 11
11
/ 11
More Related Content
PDF
MySQL 5.7 InnoDB 日本語全文検索
by
yoyamasaki
PDF
20160929 inno db_fts_jp
by
yoyamasaki
PDF
MySQL Casual Talks Vol.4 「MySQL-5.6で始める全文検索 〜InnoDB FTS編〜」
by
Kentaro Yoshida
PDF
ニコニコニュースと全文検索
by
techtalkdwango
PDF
MySQL 5.7 InnoDB 日本語全文検索(その2)
by
yoyamasaki
PDF
Mroongaを使ったときの MySQLの制限との戦い
by
Naoya Murakami
PDF
States of Dolphin - MySQL最新技術情報2013秋 -
by
yoyamasaki
PDF
Mysql toranomaki
by
Mikiya Okuno
MySQL 5.7 InnoDB 日本語全文検索
by
yoyamasaki
20160929 inno db_fts_jp
by
yoyamasaki
MySQL Casual Talks Vol.4 「MySQL-5.6で始める全文検索 〜InnoDB FTS編〜」
by
Kentaro Yoshida
ニコニコニュースと全文検索
by
techtalkdwango
MySQL 5.7 InnoDB 日本語全文検索(その2)
by
yoyamasaki
Mroongaを使ったときの MySQLの制限との戦い
by
Naoya Murakami
States of Dolphin - MySQL最新技術情報2013秋 -
by
yoyamasaki
Mysql toranomaki
by
Mikiya Okuno
What's hot
PDF
Windows環境でのMySQL
by
yoyamasaki
PDF
[D37]MySQLの真のイノベーションはこれだ!MySQL 5.7と「実験室」 by Ryusuke Kajiyama
by
Insight Technology, Inc.
PDF
MySQL5.7 GA の Multi-threaded slave
by
Takanori Sejima
PPTX
dimSTATから見るベンチマーク
by
hiroi10
PDF
What's New in MySQL 5.7 Security
by
Mikiya Okuno
PDF
What's New in MySQL 5.7 InnoDB
by
Mikiya Okuno
PDF
MySQLの冗長化 2013-01-24
by
Yoshihiko Matsuzaki
PPTX
MySQL Clusterを運用して10ヶ月間
by
hiroi10
PDF
MySQL Cluster 7.4で楽しむスケールアウト @DB Tech Showcase 2015/06
by
Mikiya Okuno
PDF
MySQL最新情報 ※2015年9月5日「第1回 関西DB勉強会」での発表資料
by
yoyamasaki
PDF
MySQL 5.7とレプリケーションにおける改良
by
Shinya Sugiyama
PDF
MySQL最新情報 ※2016年12月
by
yoyamasaki
PPTX
MySQL clients
by
yoku0825
PDF
MySQL 4.0で9年動き続けたサーバを リプレイスしてバージョンアップした話
by
Takahiro Okumura
PDF
MySQL5.7とMariaDB10.1の性能比較(簡易)
by
hiroi10
PDF
20150920 中国地方db勉強会
by
yoyamasaki
PDF
MySQL 初めてのチューニング
by
Craft works
PDF
ゆるふわMySQLフェイルオーバー
by
Kimitoshi Takahashi
PDF
MySQL Cluster 解説 & MySQL Cluster 7.3 最新情報
by
yoyamasaki
Windows環境でのMySQL
by
yoyamasaki
[D37]MySQLの真のイノベーションはこれだ!MySQL 5.7と「実験室」 by Ryusuke Kajiyama
by
Insight Technology, Inc.
MySQL5.7 GA の Multi-threaded slave
by
Takanori Sejima
dimSTATから見るベンチマーク
by
hiroi10
What's New in MySQL 5.7 Security
by
Mikiya Okuno
What's New in MySQL 5.7 InnoDB
by
Mikiya Okuno
MySQLの冗長化 2013-01-24
by
Yoshihiko Matsuzaki
MySQL Clusterを運用して10ヶ月間
by
hiroi10
MySQL Cluster 7.4で楽しむスケールアウト @DB Tech Showcase 2015/06
by
Mikiya Okuno
MySQL最新情報 ※2015年9月5日「第1回 関西DB勉強会」での発表資料
by
yoyamasaki
MySQL 5.7とレプリケーションにおける改良
by
Shinya Sugiyama
MySQL最新情報 ※2016年12月
by
yoyamasaki
MySQL clients
by
yoku0825
MySQL 4.0で9年動き続けたサーバを リプレイスしてバージョンアップした話
by
Takahiro Okumura
MySQL5.7とMariaDB10.1の性能比較(簡易)
by
hiroi10
20150920 中国地方db勉強会
by
yoyamasaki
MySQL 初めてのチューニング
by
Craft works
ゆるふわMySQLフェイルオーバー
by
Kimitoshi Takahashi
MySQL Cluster 解説 & MySQL Cluster 7.3 最新情報
by
yoyamasaki
Viewers also liked
PPTX
MySQL対応全文検索システムMroonga(むるんが)
by
Hideshi Ogoshi
PDF
全文検索エンジンMroonga_エンジニア勉強会20140418
by
エンジニア勉強会 エスキュービズム
PDF
Ichii gree-crooz-20120126
by
Takashi Ichii
PDF
Groonga族2015
by
Kouhei Sutou
PDF
MySQLを通じた全文検索エンジンSenna/groongaの利用について
by
Tasuku Suenaga
PDF
全文検索エンジンgroongaの紹介@Solr勉強会
by
Tasuku Suenaga
PDF
Elastic searchとは_エンジニア勉強会20140212
by
エンジニア勉強会 エスキュービズム
PDF
Mroongaを選んだ理由と ちょっと嬉しかった話
by
Terui Masashi
PDF
PostgreSQLでpg_bigmを使って日本語全文検索 (MySQLとPostgreSQLの日本語全文検索勉強会 発表資料)
by
NTT DATA OSS Professional Services
PDF
Elasticsearchベースの全文検索システムFess
by
Shinsuke Sugaya
PDF
いろいろ考えると日本語の全文検索もMySQLがいいね!
by
Kouhei Sutou
PPTX
みんな大好き“全文検索 on AWS”を試してみました!
by
宗 大栗
PDF
MySQLの全文検索に関するあれやこれや
by
yoku0825
PDF
MySQLの文字コード事情 2017版
by
Masahiro Tomita
PDF
Embulk, an open-source plugin-based parallel bulk data loader
by
Sadayuki Furuhashi
PDF
Railsチュートリアルの歩き方 (第4版)
by
Yohei Yasukawa
MySQL対応全文検索システムMroonga(むるんが)
by
Hideshi Ogoshi
全文検索エンジンMroonga_エンジニア勉強会20140418
by
エンジニア勉強会 エスキュービズム
Ichii gree-crooz-20120126
by
Takashi Ichii
Groonga族2015
by
Kouhei Sutou
MySQLを通じた全文検索エンジンSenna/groongaの利用について
by
Tasuku Suenaga
全文検索エンジンgroongaの紹介@Solr勉強会
by
Tasuku Suenaga
Elastic searchとは_エンジニア勉強会20140212
by
エンジニア勉強会 エスキュービズム
Mroongaを選んだ理由と ちょっと嬉しかった話
by
Terui Masashi
PostgreSQLでpg_bigmを使って日本語全文検索 (MySQLとPostgreSQLの日本語全文検索勉強会 発表資料)
by
NTT DATA OSS Professional Services
Elasticsearchベースの全文検索システムFess
by
Shinsuke Sugaya
いろいろ考えると日本語の全文検索もMySQLがいいね!
by
Kouhei Sutou
みんな大好き“全文検索 on AWS”を試してみました!
by
宗 大栗
MySQLの全文検索に関するあれやこれや
by
yoku0825
MySQLの文字コード事情 2017版
by
Masahiro Tomita
Embulk, an open-source plugin-based parallel bulk data loader
by
Sadayuki Furuhashi
Railsチュートリアルの歩き方 (第4版)
by
Yohei Yasukawa
Similar to Mysql+Mroongaで全文検索
PDF
MroongaとPGroonga
by
Kouhei Sutou
PDF
MySQL・PostgreSQL上で動かす全文検索エンジン「Groonga」セミナー
by
Kouhei Sutou
PDF
MySQLとPostgreSQLと日本語全文検索 - Azure DatabaseでMroonga・PGroongaを使いたいですよね!?
by
Kouhei Sutou
PDF
初心者向けMroonga・PGroonga情報
by
Kouhei Sutou
PPTX
Tritonn から Elasticsearch への移行話
by
do_aki
PDF
MySQL・PostgreSQLだけで作る高速あいまい全文検索システム
by
Kouhei Sutou
PDF
MariaDBとMroongaで作る全言語対応超高速全文検索システム
by
Kouhei Sutou
PDF
MySQL 8.0でMroonga
by
Kouhei Sutou
ODP
mysqlftppc 紹介
by
Hiroaki Kawai
PDF
Mroonga・PGroonga導入方法
by
Kouhei Sutou
PDF
Mroonga開発者が来たぞ!
by
Kouhei Sutou
PDF
MySQL日本語利用徹底入門
by
Mikiya Okuno
PDF
blogサービスの全文検索の話 - #groonga を囲む夕べ
by
Masahiro Nagano
PDF
PHPでPostgreSQLとPGroongaを使って高速日本語全文検索!
by
Kouhei Sutou
PDF
pg_bigmと類似度検索
by
Masahiko Sawada
PDF
textsearch_jaで全文検索
by
Akio Ishida
PDF
Mroonga Meetup 2014/06/29
by
kenhys
PDF
20160929_InnoDBの全文検索を使ってみた by 株式会社インサイトテクノロジー 中村範夫
by
Insight Technology, Inc.
PPTX
[db tech showcase 2017 Tokyo] D31 - MySQL 8.0の日本語キャラクタ・セットと文字照合
by
Ryusuke Kajiyama
PPT
20080617 05 Mysql
by
stiq 2e
MroongaとPGroonga
by
Kouhei Sutou
MySQL・PostgreSQL上で動かす全文検索エンジン「Groonga」セミナー
by
Kouhei Sutou
MySQLとPostgreSQLと日本語全文検索 - Azure DatabaseでMroonga・PGroongaを使いたいですよね!?
by
Kouhei Sutou
初心者向けMroonga・PGroonga情報
by
Kouhei Sutou
Tritonn から Elasticsearch への移行話
by
do_aki
MySQL・PostgreSQLだけで作る高速あいまい全文検索システム
by
Kouhei Sutou
MariaDBとMroongaで作る全言語対応超高速全文検索システム
by
Kouhei Sutou
MySQL 8.0でMroonga
by
Kouhei Sutou
mysqlftppc 紹介
by
Hiroaki Kawai
Mroonga・PGroonga導入方法
by
Kouhei Sutou
Mroonga開発者が来たぞ!
by
Kouhei Sutou
MySQL日本語利用徹底入門
by
Mikiya Okuno
blogサービスの全文検索の話 - #groonga を囲む夕べ
by
Masahiro Nagano
PHPでPostgreSQLとPGroongaを使って高速日本語全文検索!
by
Kouhei Sutou
pg_bigmと類似度検索
by
Masahiko Sawada
textsearch_jaで全文検索
by
Akio Ishida
Mroonga Meetup 2014/06/29
by
kenhys
20160929_InnoDBの全文検索を使ってみた by 株式会社インサイトテクノロジー 中村範夫
by
Insight Technology, Inc.
[db tech showcase 2017 Tokyo] D31 - MySQL 8.0の日本語キャラクタ・セットと文字照合
by
Ryusuke Kajiyama
20080617 05 Mysql
by
stiq 2e
More from yoyamasaki
PDF
MySQL 8.0で強化されたGIS機能のご紹介と周辺ツールとの連携について
by
yoyamasaki
PDF
MySQLドキュメントストアとCTE
by
yoyamasaki
PDF
MySQL 8.0で強化されたGIS機能のご紹介+α:「FOSS4G Tokai 2018 」での発表資料
by
yoyamasaki
PDF
MySQL最新情報
by
yoyamasaki
PDF
MySQL 8.0で強化されたGIS機能のご紹介:「FOSS4G 2018 Hokkaido」での発表資料
by
yoyamasaki
PDF
ついにリリース!! MySQL 8.0 最新情報
by
yoyamasaki
PDF
MySQLの公式GUIツール MySQL Workbench
by
yoyamasaki
PDF
MySQL 開発最新動向
by
yoyamasaki
PDF
DrupalとMySQL
by
yoyamasaki
PDF
MySQL Workbench 6.1 の紹介
by
yoyamasaki
PDF
MySQL製品概要
by
yoyamasaki
PDF
[D14] MySQL 5.6時代のパフォーマンスチューニング *db tech showcase 2013 Tokyo
by
yoyamasaki
PDF
早くなったのか? MySQL5.5から5.6へのアップグレード事例
by
yoyamasaki
PDF
SQL+NoSQL!? それならMySQL Clusterでしょ。
by
yoyamasaki
PDF
MySQL最新動向と便利ツールMySQL Workbench
by
yoyamasaki
PDF
ドキュメントデータベースとして MySQLを使う!? ~MySQL JSON UDF~
by
yoyamasaki
PDF
MySQLをGUIで触ろう!! ~MySQL Workbenchのご紹介~
by
yoyamasaki
PDF
MySQL Cluster7.3 GAリリース記念セミナー! MySQL & NoSQL 圧倒的な進化を続けるMySQLの最新機能!
by
yoyamasaki
PDF
5分で作るMySQL Cluster環境
by
yoyamasaki
PDF
5分で作るMySQL Cluster環境
by
yoyamasaki
MySQL 8.0で強化されたGIS機能のご紹介と周辺ツールとの連携について
by
yoyamasaki
MySQLドキュメントストアとCTE
by
yoyamasaki
MySQL 8.0で強化されたGIS機能のご紹介+α:「FOSS4G Tokai 2018 」での発表資料
by
yoyamasaki
MySQL最新情報
by
yoyamasaki
MySQL 8.0で強化されたGIS機能のご紹介:「FOSS4G 2018 Hokkaido」での発表資料
by
yoyamasaki
ついにリリース!! MySQL 8.0 最新情報
by
yoyamasaki
MySQLの公式GUIツール MySQL Workbench
by
yoyamasaki
MySQL 開発最新動向
by
yoyamasaki
DrupalとMySQL
by
yoyamasaki
MySQL Workbench 6.1 の紹介
by
yoyamasaki
MySQL製品概要
by
yoyamasaki
[D14] MySQL 5.6時代のパフォーマンスチューニング *db tech showcase 2013 Tokyo
by
yoyamasaki
早くなったのか? MySQL5.5から5.6へのアップグレード事例
by
yoyamasaki
SQL+NoSQL!? それならMySQL Clusterでしょ。
by
yoyamasaki
MySQL最新動向と便利ツールMySQL Workbench
by
yoyamasaki
ドキュメントデータベースとして MySQLを使う!? ~MySQL JSON UDF~
by
yoyamasaki
MySQLをGUIで触ろう!! ~MySQL Workbenchのご紹介~
by
yoyamasaki
MySQL Cluster7.3 GAリリース記念セミナー! MySQL & NoSQL 圧倒的な進化を続けるMySQLの最新機能!
by
yoyamasaki
5分で作るMySQL Cluster環境
by
yoyamasaki
5分で作るMySQL Cluster環境
by
yoyamasaki
Mysql+Mroongaで全文検索
1.
MySQL + Mroongaで全文検索 あかやま
2.
自己紹介 SE会社でSEとして勤務しています。 主に、お客様の社内、社外ポータルサイトの開発をメインに行っています。
3年前より、MySQLを使ったシステム開発をするようになりました。(MySQL5.5~) それまでは、OracleとかPostgreSQLを使ったシステム開発がメインです。 MySQLやMroongaのエキスパートではありません。
3.
きっかけ あるWEBサイトのリプレイスを担当することになりました。概要は、 • あるコンテンツを大分類、中分類などのジャンル別に登録して利用者へ表示させる。 •
フリーワード検索機能も提供したい。当然、ひらがな、かたかな、全角、半角の違いは吸収してほしい。 • データの登録は、サイト運営者のみが行い。利用者からの投稿機能はない。 ちなみに現行システムは • データベースは、PostgreSQLを利用。 • フリーワード検索機能も提供しているが、like検索を行っている。 「パズル」で検索しないと、「パズル&ドラゴンズ」はヒットしない。 検索対象カラムは、画面表示用のカラム と あいうえお順にソートするため ふりがな のカラムが存在している。 データ件数は 1000 件程度。 今後は、もっと増える予定。
4.
要件にあったものを探しましょう フリーワード検索といえば • Solr
が有名なんだけど… 開発経験なし。 決められたスケジュール、予算では難しい。 データの移行も大変そう。 RDBにも全文検索という機能があるよね… • Oracle … 予算の都合でNG(そもそも現行システムはPostgreSQLだし。) • PostgreSQL Senna → サイトが2010年以降更新されている様子もなし。ちょっと不安。 pg_bigram → なんか使えそう。 でも、要件にある ひらがな、カタカナ、全角、半角を吸収する方法は? • MySQL mroonga → 毎月、リリースがあり活発に活動されている。 collation の設定でひらがな、カタカナ、全角、半角を吸収できる。 MySQL + mroonga を使うことに決定。
5.
Mroonga とは、 (http://mroonga.org/ja/
より) GroongaをベースとしたMySQLのストレージエンジン Groonga独自のカラムストアを持つ列指向のデータベース Tritonnの後継 (MySQLに全文検索ライブラリSennaを組み込んだもの) MySQLのプラグインとして動作 MySQL公式バイナリに手を加えずにプラグインとして動的にロードして利用可能 2つの動作モードをサポート ストレージモード デフォルトモード。データストア、検索機能もすべてGroongaを使うモード。ただし、トランザクションなどの機能は なし ラッパーモード MyISAMやInnoDBに全文検索機能だけを追加するモード。 形態素解析、N-gram、空白区切り などのパーサーが用意されている。
6.
さっそく試してみましょう 環境 ※昨年のことのなので、情報は古いです。 •
OSは、CentOS6、 mroonga のバージョンは、3.0.7 • Mroonga のサイトで配布されるパッケージは、MySQLのバージョンは5.1に対応したもののが配布さ れていました。 5.1はあまりにも古いし、UTF8の4バイト文字に対応していなので MySQL5.6 の組 み合わせでソースからインストールすることに決定。 インストール Mroongaのサイトをにあるインストール手順を参照し、必要なものを集めてインストール。 • mecab ・・・ 形態素解析で必要。 • Groonga ・・・ groongaのサイトのインストール手順を参照。 • MySQL ・・・ cmakeのオプションを確認しながら。英語なので悪戦苦闘。 • Mroonga ・・・ mroongaのサイトのインストール手順を参照。 • Groongaノーマライザー ・・・ groongaのサイトのインストール手順を参照。 ※MySQL以外はインストール手順書が日本語だったのですんなりできました。 :-p
7.
さっそく試しみましょう 以下のようなテーブルを作ってみました。 (ラッパーモードの場合) mysql>
CREATE TABLE contents ( -> id INT PRIMARY KEY AUTO_INCREMENT, -> title VARCHAR(255), -> kana VARCHAR(255), -> FULLTEXT INDEX (kana) COMMENT 'parser "TokenBigram"' -> ) ENGINE = mroonga COMMENT = 'engine "innodb"' DEFAULT CHARSET utf8mb4 COLLATE=utf8mb4_unicode_ci; mysql> INSERT INTO contents (title,kana) VALUES ("牛肉","ぎゅうにく"); mysql> INSERT INTO contents (title,kana) VALUES ("豚肉","ぶたにく"); mysql> INSERT INTO contents (title,kana) VALUES ("牛乳","ぎゅうにゅう"); mysql> INSERT INTO contents (title,kana) VALUES ("筍","たけのこ"); mysql> INSERT INTO contents (title,kana) VALUES ("数の子","かずのこ"); mysql> select * from contents; +----+--------+--------------------+ | id | title | kana | +----+--------+--------------------+ | 1 | 牛肉 | ぎゅうにく | | 2 | 豚肉 | ぶたにく | | 3 | 牛乳 | ぎゅうにゅう | +----+--------+--------------------+ コメントでパーサを指定する ENGINE は mroongaを COMMENTでMySQLのエンジンを指定する。 COMMENTを指定しなかった場合は、 ストレージモードでテーブルが作成される。
8.
さっそく試しみましょう 検索結果 mysql> SELECT
* FROM contents WHERE MATCH(kana) AGAINST("ぎゅう"); +----+--------+--------------------+ | id | title | kana | +----+--------+--------------------+ | 1 | 牛肉 | ぎゅうにく | | 3 | 牛乳 | ぎゅうにゅう | +----+--------+--------------------+ 2 rows in set (0.02 sec) mysql> mysql> SELECT * FROM contents WHERE MATCH(kana) AGAINST("ニク"); +----+--------+-----------------+ | id | title | kana | +----+--------+-----------------+ | 1 | 牛肉 | ぎゅうにく | | 2 | 豚肉 | ぶたにく | +----+--------+-----------------+ 2 rows in set (0.02 sec) • 期待どおりの検索結果がでました。 ひらがな、かたかな が同一視されているのは MySQLのCOLLATEの設定が効いているため です。 • フリーワード検索なので、漢字が入力されることもあります。その場合の対応として mecab で漢字→かな変換をしています
9.
さっそく試しみましょう と思ったのですが。。。 mysql> SELECT
* FROM contents WHERE MATCH(kana) AGAINST("タケノコ"); +----+-----------+--------------+ | id | title | kana | +----+-----------+--------------+ | 4 | 筍 | たけのこ | | 5 | 数の子 | かずのこ | +----+-----------+--------------+ 2 rows in set (0.02 sec) • MySQLのリファレンスマニュアルでブール全文検索を参照。 (英語はしんどいので、5.6のマニュアルと5.1の日本語のマニュアルを並べてみる。) mysql> SELECT * FROM contents WHERE MATCH(kana) AGAINST("タケノコ" IN BOOLEAN MODE); +----+-------+--------------+ | id | title | kana | +----+-------+--------------+ | 4 | 筍 | たけのこ | +----+-------+--------------+ 2 rows in set (0.02 sec) trigram にしたら、「かずのこ」はヒットしなくなりましたが。 じゃ「きゅうり」と「ぎゅうにく」は?
10.
感想 はじめて使った見たのですが、インストールからDBの構築までは、はまることなくできました。 また、MySQLのプラグインとして動作するものなので、だめだったら使わなければいいという 気持ちで使い始めました。 利用するシーンとしては、今まで like検索していたもの、(商品名、人名)で遅いといわれた場合に 導入してみるのもいいかなぁと思います。 ただ、実際のシステムは、ここでご紹介したような単純なものではなかったので、ノイズが多くて こまりました。(検索結果として出てほしくないものがでたり、でてほしいものがでないなど) 日本語って難しいですね。 その時も、ここでは紹介していない パーサーをつかってみたり、Groongaのトークナイザを使ったり して乗り切ることができました。(細かいところまで手がとどく)
11.
参考サイト、ツール紹介 ツール • MySQL
Workbench ( http://dev.mysql.com/downloads/tools/workbench/ ) 何かと便利。ちょっと重いかな? • A5:SQL Mk-2 ( http://www.wind.sannet.ne.jp/m_matsu/developer/a5m2/ ) ER図の作成だけではなく、ER図のリバース生成ができます。 今回は、旧システムのデータベースの構成を確認するために、大活躍しました。 参考サイト • gihyo.jp ( http://gihyo.jp/dev/clip/01/groonga/0001 ) 2013年4月~2013年9月 連載記事がありました。 • Qiita ( http://qiita.com/tags/mroonga )
Download