Recommended MySQL Casual Talks Vol.4 「MySQL-5.6で始める全文検索 〜InnoDB FTS編〜」
いろいろ考えると日本語の全文検索もMySQLがいいね!
Mroongaを選んだ理由と
ちょっと嬉しかった話
MariaDBとMroongaで作る全言語対応超高速全文検索システム
みんな大好き“全文検索 on AWS”を試してみました!
20160929_InnoDBの全文検索を使ってみた by 株式会社インサイトテクノロジー 中村範夫
さいきんの InnoDB Adaptive Flushing (仮)
Elasticsearch at CrowdWorks
MySQLと組み合わせて始める全文検索プロダクト"elasticsearch"
Mroongaの高速全文検索機能でWordPress内のコンテンツを有効活用!
Dockerイメージで誰でも気軽にMroonga体験
DB tech showcase: 噂のMongoDBその用途は?
MongoDBではじめるカジュアルなタイムラインシステム
Dbtechshowcasesapporo mysql-turing-for-cloud-0.9.3
MySQL 5.7 InnoDB 日本語全文検索(その2)
More Related Content MySQL Casual Talks Vol.4 「MySQL-5.6で始める全文検索 〜InnoDB FTS編〜」
いろいろ考えると日本語の全文検索もMySQLがいいね!
Mroongaを選んだ理由と
ちょっと嬉しかった話
MariaDBとMroongaで作る全言語対応超高速全文検索システム
みんな大好き“全文検索 on AWS”を試してみました!
20160929_InnoDBの全文検索を使ってみた by 株式会社インサイトテクノロジー 中村範夫
What's hot (20)
さいきんの InnoDB Adaptive Flushing (仮)
Elasticsearch at CrowdWorks
MySQLと組み合わせて始める全文検索プロダクト"elasticsearch"
Mroongaの高速全文検索機能でWordPress内のコンテンツを有効活用!
Dockerイメージで誰でも気軽にMroonga体験
DB tech showcase: 噂のMongoDBその用途は?
MongoDBではじめるカジュアルなタイムラインシステム
Dbtechshowcasesapporo mysql-turing-for-cloud-0.9.3
Viewers also liked (20)
MySQL 5.7 InnoDB 日本語全文検索(その2)
Latihan Ujian Nasional II
Give presentation january_2011_jvdk
The present subjunctive.jpg
Opp 美商寰泰生技公司簡介產品與白金總裁菁英創業計劃
Give by Cell Presentation on the Future of Mobile Giving
Industrial Practical PPT 2012
JCoast - A software window into your microbial genomes and metagenomes
Similar to ニコニコニュースと全文検索 (20)
Reco choku tech night #09 -reinvent2018報告会-
NetAppのデータ管理をPuppetで。〜APIとコミュニティのオープン性〜 - 渡邊 誠 、ネットアップ株式会社
【GTMF2017】PlayCanvas新機能( 2017/6/30,7/14講演)
blogサービスの全文検索の話 - #groonga を囲む夕べ
MySQLのNoSQL機能 - MySQL JSON & HTTP Plugin for MySQL
SIG-SWO-A1402-09:SPINを用いたトリプルストアの性能評価システム
PostgreSQLではじめるOSS開発@OSC 2014 Hiroshima
PostgreSQLでpg_bigmを使って日本語全文検索 (MySQLとPostgreSQLの日本語全文検索勉強会 発表資料)
Kinesis Analyticsの適用できない用途と、Kinesis Firehoseの苦労話
Introducing mroonga 20111129
ゲームのインフラをAwsで実戦tips全て見せます
Azure API Management 俺的マニュアル
おれおれブログシステムにServiceWorkerを導入してみた #serviceworker
More from techtalkdwango (16) みゆっき☆Think#13 「みゆっき卒業制作 ~発表編~」
みゆっき☆Think#12 「みゆっき卒業制作 ~計画編~」
みゆっきノート#11「ソフトウェア開発 ~個人からチームへ~」
みゆっき☆Think#11「ソフトウェア開発 ~個人からチームへ~」
みゆっきノート#10「チーム開発 ~ 脱ぼっちマインド ~」
みゆっきノート#9「はじめて学ぶバージョン管理とGit」
みゆっき☆Think#9「はじめて学ぶバージョン管理とGit」
みゆっき☆Think#8「Javascriptだけでつくるみゆびで!」
みゆっきノート #7 「本気で学ぶJavascript」
みゆっき☆Think#7 「本気で学ぶJavascript」
みゆっき☆Think#6「Node.jsってなあに?」
みゆっき☆Think#4 「こんどはiPhoneに触ってみるよ!」
みゆっきノート #4「こんどはiPhoneに触ってみるよ!」
みゆっき☆Think#3 「androidに触ってみるよ!」
みゆっき☆Think #2 「HTML5でできる! あんなこと、こんなこと」
ニコニコニュースと全文検索5. MySQLの全文検索
SQL Parser
Full Text Parser
Storage Engine API
Storage Full Text
Engine Index
5
6. 全文検索Plugin
SQL Parser
Full Text Text Parser
Full Parser (Plugin)
Storage Engine API
Patch
Storage
Storage Full Text
Engine
Engine Index
(Plugin)
6
8. Storage Engineを
置き換えるPlugin(1)
SQL Parser
Storage Engine API
groonga
Storage Engine
8
9. Storage Engineを
変えるPlugin(2)
SQL Parser
Storage Engine API
Sphinx
Storage Engine
SQLを使って検索
対象を登録出来
ない
9
10. Full Text Parserを
MySQL-ftppc 置換えるPlugin
SQL Parser
space mecab bigram Suffix snowball
Full Text Parser
MySQL標準
Storage Engine API の Full Text
Parser
MyISAM Full Text
Index
10
12. ニコニコニュースの検索要件
検索結果が
記事が公開さ 1秒以内に
れたらすぐ検 かえってきて
索したい 欲しい MySQL
を使用
したい
本文とタグで
検索出来れ
ばいい
12
13. 要件で比較
Senna sphinx groonga MySQL-ftppc
要件にあう
検索 ✓ △ ✓ ✓
リアルタイム
インデックス ✓ - ✓ ✓
5.1対応
- ✓ ✓ ✓
13
14. groongaとMySQL-ftppc
• groonga storage engineはVer. 0.1が出たばかり
• groonga を使用するためにコードを書き換えな
いといけない
groonga作者
• branchのftnorm.c/ftnorm.hで置き換えて解
• 最新版でもICUライブラリを使用するとクラッ
決!
シュ
• mecab plugin r126
• メモリ周りの処理でMySQLごと落ちる
• bigram plugin r125 MySQL-ftppc 14
16. MySQL-ftppcとは
• 空白で分割する
space • タグ検索で使用している
• 2文字ずつindexを作成する
bigram • 検索漏れが少ない
• 本文検索で使用している
• 形態素解析を使用
mecab • 新しい単語に弱い
• 接尾辞配列を使用
suffix • index作成でクラッシュする問題がある
snowball • 英語に適したインデックス
16
17. 要件確認
リアルタイム
インデックス
記事が公開さ
れたらすぐ検 性能試験
索したい
簡単な検索
検索結果が
本文とタグで
1秒以内に
検索出来れ
かえってきて
ばいい
欲しい
MySQL
を使用
したい
17