SlideShare a Scribd company logo
MySQL 全文検索 ことはじめ 日本 MySQL ユーザ会  2009 冬 Tetsuro IKEDA @ Tritonn Project
セミナーの目的 多くの人に全文検索の便利さを知ってもらいたい MySQL でも全文検索ができることの良さを知ってもらいたい Tritonn プロジェクトを紹介したい
全文検索って何ですか? インターネット検索( Google 、 Yahoo! とか ) メール検索( Thunderbird 、 Becky! とか) 友人検索( mixi とか) 日記検索( SNS/BLOG 系全般) キーワードを投げるとそれに関連したデータを返してくれるもの 検索対象のデータ構造とかはあまり意識しなくてよい
普通の検索と全文検索の違い DBMS のよくある検索 データを分解して各カラムに格納しておく カラムの値と一致しているかとか 数値が指定範囲に該当するかとか “ hit する”  or ”hit しない” 全文検索 テキストをそのまま使う 検索キーワードを含むかどうか キーワードとの関連度の高いものを優先
全文検索の良さ – 簡単・高機能 利用者側 キーワードを与えるだけでOK 細かいことを指定しなくてOK 関連性の高いデータを返してもらえる 開発側 対象データを構造化しておく必要がない いろんなデータに対応できる 全文検索インデックスを使えば性能もGood!
全文検索のためのソフトウェア 商用 FAST Sedue OSS Namazu Lucene Hyper Estraier Rast MySQL Senna Ludia (PostgreSQL+Senna) Tritonn (MySQL+Senna)
MySQL で全文検索できることの意味 普通の全文検索エンジン 独自の検索クエリ /API 独自のデータ管理方式 要するに独自の世界 MySQL で全文検索 MySQL に SQL 文を投げる テーブル、カラム、結合可能 MySQL を通じたデータ管理 MySQL 方式のバックアップ レプリケーションできる MySQL の世界
MySQL で全文検索するには… FULLTEXT インデックスというのがあります ただしこれは分かち書きされたデータだけ 事前に分かち書きしたデータはそのまま OK MySQL 5.1 の Fulltext parser plugin を利用 参照: MySQL full-text parser plugin collection 転置インデックステーブルを作ってトリガーで N-gram にする 参照:「 MySQL   InnoDB だけで 全文検索   -  SH2 の日記 」 Tritonn を利用 MySQL 内部で全文検索エンジン Senna を利用
Tritonn プロジェクト Senna の MySQL バインディングパッチを継承 2007 年 4 月に初回リリース(最新は 1.0.12) 安心の QA (品質保証)体制 住商情報システムによる有償サポートあり Sun Microsystems によるバイナリ認定取得 MySQL( 本家 ) のソースを改造 Senna/MeCab を同梱 国内大手 WEB サイト、企業での採用実績
Tritonn プロジェクトが提供している物 MySQL 改造パッチ MySQL( 改造版)ソース一式 Linux x86/x86_64 向け tarball バイナリ Linux x86/x86_64 向け RPM パッケージ Windows 32/64 向け zip バイナリ 日本語ドキュメント http://qwik.jp/tritonn/
ありがとうございました Q & A

More Related Content

Similar to MySQL全文検索ことはじめ (17)

ならば
ならばならば
ならば
Tomoaki Hiramoto
 
データベースメディアにおける検索エンジン最適化
データベースメディアにおける検索エンジン最適化データベースメディアにおける検索エンジン最適化
データベースメディアにおける検索エンジン最適化
Toru Enomoto
 
mysqlftppc 紹介
mysqlftppc 紹介mysqlftppc 紹介
mysqlftppc 紹介
Hiroaki Kawai
 
141027 シックスアパート様セミナー資料
141027 シックスアパート様セミナー資料141027 シックスアパート様セミナー資料
141027 シックスアパート様セミナー資料
Masaki Suzuki
 
SciVerse ScienceDirect training 201103
SciVerse ScienceDirect training 201103SciVerse ScienceDirect training 201103
SciVerse ScienceDirect training 201103
tsuneyoshi
 
ならば(その弐)
ならば(その弐)ならば(その弐)
ならば(その弐)
Tomoaki Hiramoto
 
20121123 groonga nanapi
20121123 groonga nanapi20121123 groonga nanapi
20121123 groonga nanapi
Shuichi Wada
 
Google Cloud Next '18 Recap/報告会 機械学習関連
Google Cloud Next '18 Recap/報告会 機械学習関連Google Cloud Next '18 Recap/報告会 機械学習関連
Google Cloud Next '18 Recap/報告会 機械学習関連
Tetsutaro Watanabe
 
マイクロブログテキストを用いた教師なし文書間類似度評価手法の分析
マイクロブログテキストを用いた教師なし文書間類似度評価手法の分析マイクロブログテキストを用いた教師なし文書間類似度評価手法の分析
マイクロブログテキストを用いた教師なし文書間類似度評価手法の分析
KozoChikai
 
Usage-Driven Database Design Chapter4
Usage-Driven Database Design Chapter4Usage-Driven Database Design Chapter4
Usage-Driven Database Design Chapter4
OsakiKota
 
企業等に蓄積されたデータを分析するための処理機能の提案
企業等に蓄積されたデータを分析するための処理機能の提案企業等に蓄積されたデータを分析するための処理機能の提案
企業等に蓄積されたデータを分析するための処理機能の提案
Toshiyuki Shimono
 
RでTwitterテキストマイニング~スターバックス~
RでTwitterテキストマイニング~スターバックス~RでTwitterテキストマイニング~スターバックス~
RでTwitterテキストマイニング~スターバックス~
江上 ゼミナール
 
RでTwitterテキストマイニング
RでTwitterテキストマイニングRでTwitterテキストマイニング
RでTwitterテキストマイニング
Yudai Shinbo
 
微博(ウェイボ)スタイルで始める社内ソーシャル リアルタイム”ほう・れん・そう”を実現する ビジネスログツール “Crowdroid for business”
微博(ウェイボ)スタイルで始める社内ソーシャル リアルタイム”ほう・れん・そう”を実現する ビジネスログツール “Crowdroid for business”微博(ウェイボ)スタイルで始める社内ソーシャル リアルタイム”ほう・れん・そう”を実現する ビジネスログツール “Crowdroid for business”
微博(ウェイボ)スタイルで始める社内ソーシャル リアルタイム”ほう・れん・そう”を実現する ビジネスログツール “Crowdroid for business”
Anhui Opensource Software Inc.
 
Ragic データベース設計入門 組織内部教育用スライド(基本概念、設定、機能紹介)
Ragic データベース設計入門 組織内部教育用スライド(基本概念、設定、機能紹介)Ragic データベース設計入門 組織内部教育用スライド(基本概念、設定、機能紹介)
Ragic データベース設計入門 組織内部教育用スライド(基本概念、設定、機能紹介)
Ragic
 
データベースメディアにおける検索エンジン最適化
データベースメディアにおける検索エンジン最適化データベースメディアにおける検索エンジン最適化
データベースメディアにおける検索エンジン最適化
Toru Enomoto
 
141027 シックスアパート様セミナー資料
141027 シックスアパート様セミナー資料141027 シックスアパート様セミナー資料
141027 シックスアパート様セミナー資料
Masaki Suzuki
 
SciVerse ScienceDirect training 201103
SciVerse ScienceDirect training 201103SciVerse ScienceDirect training 201103
SciVerse ScienceDirect training 201103
tsuneyoshi
 
20121123 groonga nanapi
20121123 groonga nanapi20121123 groonga nanapi
20121123 groonga nanapi
Shuichi Wada
 
Google Cloud Next '18 Recap/報告会 機械学習関連
Google Cloud Next '18 Recap/報告会 機械学習関連Google Cloud Next '18 Recap/報告会 機械学習関連
Google Cloud Next '18 Recap/報告会 機械学習関連
Tetsutaro Watanabe
 
マイクロブログテキストを用いた教師なし文書間類似度評価手法の分析
マイクロブログテキストを用いた教師なし文書間類似度評価手法の分析マイクロブログテキストを用いた教師なし文書間類似度評価手法の分析
マイクロブログテキストを用いた教師なし文書間類似度評価手法の分析
KozoChikai
 
Usage-Driven Database Design Chapter4
Usage-Driven Database Design Chapter4Usage-Driven Database Design Chapter4
Usage-Driven Database Design Chapter4
OsakiKota
 
企業等に蓄積されたデータを分析するための処理機能の提案
企業等に蓄積されたデータを分析するための処理機能の提案企業等に蓄積されたデータを分析するための処理機能の提案
企業等に蓄積されたデータを分析するための処理機能の提案
Toshiyuki Shimono
 
RでTwitterテキストマイニング~スターバックス~
RでTwitterテキストマイニング~スターバックス~RでTwitterテキストマイニング~スターバックス~
RでTwitterテキストマイニング~スターバックス~
江上 ゼミナール
 
RでTwitterテキストマイニング
RでTwitterテキストマイニングRでTwitterテキストマイニング
RでTwitterテキストマイニング
Yudai Shinbo
 
微博(ウェイボ)スタイルで始める社内ソーシャル リアルタイム”ほう・れん・そう”を実現する ビジネスログツール “Crowdroid for business”
微博(ウェイボ)スタイルで始める社内ソーシャル リアルタイム”ほう・れん・そう”を実現する ビジネスログツール “Crowdroid for business”微博(ウェイボ)スタイルで始める社内ソーシャル リアルタイム”ほう・れん・そう”を実現する ビジネスログツール “Crowdroid for business”
微博(ウェイボ)スタイルで始める社内ソーシャル リアルタイム”ほう・れん・そう”を実現する ビジネスログツール “Crowdroid for business”
Anhui Opensource Software Inc.
 
Ragic データベース設計入門 組織内部教育用スライド(基本概念、設定、機能紹介)
Ragic データベース設計入門 組織内部教育用スライド(基本概念、設定、機能紹介)Ragic データベース設計入門 組織内部教育用スライド(基本概念、設定、機能紹介)
Ragic データベース設計入門 組織内部教育用スライド(基本概念、設定、機能紹介)
Ragic
 

MySQL全文検索ことはじめ

  • 1. MySQL 全文検索 ことはじめ 日本 MySQL ユーザ会 2009 冬 Tetsuro IKEDA @ Tritonn Project
  • 2. セミナーの目的 多くの人に全文検索の便利さを知ってもらいたい MySQL でも全文検索ができることの良さを知ってもらいたい Tritonn プロジェクトを紹介したい
  • 3. 全文検索って何ですか? インターネット検索( Google 、 Yahoo! とか ) メール検索( Thunderbird 、 Becky! とか) 友人検索( mixi とか) 日記検索( SNS/BLOG 系全般) キーワードを投げるとそれに関連したデータを返してくれるもの 検索対象のデータ構造とかはあまり意識しなくてよい
  • 4. 普通の検索と全文検索の違い DBMS のよくある検索 データを分解して各カラムに格納しておく カラムの値と一致しているかとか 数値が指定範囲に該当するかとか “ hit する” or ”hit しない” 全文検索 テキストをそのまま使う 検索キーワードを含むかどうか キーワードとの関連度の高いものを優先
  • 5. 全文検索の良さ – 簡単・高機能 利用者側 キーワードを与えるだけでOK 細かいことを指定しなくてOK 関連性の高いデータを返してもらえる 開発側 対象データを構造化しておく必要がない いろんなデータに対応できる 全文検索インデックスを使えば性能もGood!
  • 6. 全文検索のためのソフトウェア 商用 FAST Sedue OSS Namazu Lucene Hyper Estraier Rast MySQL Senna Ludia (PostgreSQL+Senna) Tritonn (MySQL+Senna)
  • 7. MySQL で全文検索できることの意味 普通の全文検索エンジン 独自の検索クエリ /API 独自のデータ管理方式 要するに独自の世界 MySQL で全文検索 MySQL に SQL 文を投げる テーブル、カラム、結合可能 MySQL を通じたデータ管理 MySQL 方式のバックアップ レプリケーションできる MySQL の世界
  • 8. MySQL で全文検索するには… FULLTEXT インデックスというのがあります ただしこれは分かち書きされたデータだけ 事前に分かち書きしたデータはそのまま OK MySQL 5.1 の Fulltext parser plugin を利用 参照: MySQL full-text parser plugin collection 転置インデックステーブルを作ってトリガーで N-gram にする 参照:「 MySQL InnoDB だけで 全文検索 - SH2 の日記 」 Tritonn を利用 MySQL 内部で全文検索エンジン Senna を利用
  • 9. Tritonn プロジェクト Senna の MySQL バインディングパッチを継承 2007 年 4 月に初回リリース(最新は 1.0.12) 安心の QA (品質保証)体制 住商情報システムによる有償サポートあり Sun Microsystems によるバイナリ認定取得 MySQL( 本家 ) のソースを改造 Senna/MeCab を同梱 国内大手 WEB サイト、企業での採用実績
  • 10. Tritonn プロジェクトが提供している物 MySQL 改造パッチ MySQL( 改造版)ソース一式 Linux x86/x86_64 向け tarball バイナリ Linux x86/x86_64 向け RPM パッケージ Windows 32/64 向け zip バイナリ 日本語ドキュメント http://qwik.jp/tritonn/