SlideShare a Scribd company logo
いろいろ考えると 
日本語の全文検索も 
MySQLがいいね! 
須藤功平日本MySQLユーザ会 
OSC2014 Tokyo/Fall 
2014/10/18 
いろいろ考えると日本語の全文検索も MySQLがいいね! Powered by Rabbit 2.1.3
目標 
日本語対応の 
全文検索機能を 
(そこそこ仕組みをわかった上で) 
実装できる 
いろいろ考えると日本語の全文検索も MySQLがいいね! Powered by Rabbit 2.1.3
前提 
MySQLを使っている 
まあまあかそこそこのデータ量 
ビッグデータ云々じゃない 
(そういう人はHadoopの枠に行っているよね?) 
日本語テキストを検索したい 
でも、全文検索をよく知らない 
いろいろ考えると日本語の全文検索も MySQLがいいね! Powered by Rabbit 2.1.3
全文検索について 
全文検索とは… 
いろいろ考えると日本語の全文検索も MySQLがいいね! Powered by Rabbit 2.1.3
とりあえず動かそう 
データベース作成 
テーブル作成 
データ投入 
全文検索! 
いろいろ考えると日本語の全文検索も MySQLがいいね! Powered by Rabbit 2.1.3
データベース作成 
CREATE DATABASE full_text_search; 
USE full_text_search; 
いろいろ考えると日本語の全文検索も MySQLがいいね! Powered by Rabbit 2.1.3
テーブル作成 
CREATE TABLE memos ( 
content TEXT 
) DEFAULT CHARSET=utf8mb4; 
いろいろ考えると日本語の全文検索も MySQLがいいね! Powered by Rabbit 2.1.3
データ投入 
INSERT INTO memos 
VALUES ("Hello world!"), 
("Good-bye world!"), 
("Hello MySQL!"); 
いろいろ考えると日本語の全文検索も MySQLがいいね! Powered by Rabbit 2.1.3
全文検索! 
SELECT * 
FROM memos 
WHERE content LIKE "%Hello%"; 
-- +--------------+ 
-- | content | 
-- +--------------+ 
-- | Hello world! | 
-- | Hello MySQL! | 
-- +--------------+ 
いろいろ考えると日本語の全文検索も MySQLがいいね! Powered by Rabbit 2.1.3
全文検索! - もっと 
AND 
OR 
大文字小文字無視 
日本語 
いろいろ考えると日本語の全文検索も MySQLがいいね! Powered by Rabbit 2.1.3
全文検索! - AND 
SELECT * 
FROM memos 
WHERE content LIKE "%Hello%" AND 
content LIKE "%world%"; 
-- +--------------+ 
-- | content | 
-- +--------------+ 
-- | Hello world! | 
-- +--------------+ 
いろいろ考えると日本語の全文検索も MySQLがいいね! Powered by Rabbit 2.1.3
全文検索! - OR 
SELECT * 
FROM memos 
WHERE content LIKE "%Good%" OR 
content LIKE "%MySQL%"; 
-- +-----------------+ 
-- | content | 
-- +-----------------+ 
-- | Good-bye world! | 
-- | Hello MySQL! | 
-- +-----------------+ 
いろいろ考えると日本語の全文検索も MySQLがいいね! Powered by Rabbit 2.1.3
大文字小文字無視 
SELECT * 
FROM memos 
WHERE content LIKE "%mysql%"; 
-- +--------------+ 
-- | content | 
-- +--------------+ 
-- | Hello MySQL! | 
-- +--------------+ 
いろいろ考えると日本語の全文検索も MySQLがいいね! Powered by Rabbit 2.1.3
大文字小文字無視 - 理由 
SHOW TABLE STATUS LIKE "memos"G 
-- ... 
-- Collation: utf8mb4_general_ci 
-- ... 
いろいろ考えると日本語の全文検索も MySQLがいいね! Powered by Rabbit 2.1.3
Collation 
照合順序(って言われてわかる?) 
文字の比較ルール 
「a」と「b」はどっちが大きい? 
「a」と「A」は等しい? 
utf8mb4_general_ci 
同じようなアルファベットは同一視 
(直感的だけど雑な説明) 
いろいろ考えると日本語の全文検索も MySQLがいいね! Powered by Rabbit 2.1.3
日本語 - データ投入 
INSERT INTO memos 
VALUES ("こんにちは"), 
("こんばんは"); 
いろいろ考えると日本語の全文検索も MySQLがいいね! Powered by Rabbit 2.1.3
日本語 - 全文検索! 
SELECT * 
FROM memos 
WHERE content LIKE "%こんにち%"; 
-- +-----------------+ 
-- | content | 
-- +-----------------+ 
-- | こんにちは | 
-- +-----------------+ 
いろいろ考えると日本語の全文検索も MySQLがいいね! Powered by Rabbit 2.1.3
全文検索の実装方法まとめ 
DEFAULT CHARSET=utf8mb4 
INSERT 
LIKE "%キーワード%" 
ANDもORも日本語も可 
大文字小文字無視も可 
いろいろ考えると日本語の全文検索も MySQLがいいね! Powered by Rabbit 2.1.3
日本語をもっと! 
いわゆる全角アルファベット対応 
いろいろ考えると日本語の全文検索も MySQLがいいね! Powered by Rabbit 2.1.3
全角アルファベット 
SELECT * 
FROM memos 
WHERE content LIKE "%Hello%"; 
-- +-----------------+ 
-- | content | 
-- +-----------------+ 
-- +-----------------+ 
いろいろ考えると日本語の全文検索も MySQLがいいね! Powered by Rabbit 2.1.3
Collation変更 
ALTER TABLE memos 
MODIFY COLUMN 
content 
TEXT 
COLLATE utf8mb4_unicode_ci; 
いろいろ考えると日本語の全文検索も MySQLがいいね! Powered by Rabbit 2.1.3
utf8mb4_unicode_ci 
Unicode的に同じ文字を同一視 
(直感的だけど雑な説明) 
例:全角文字半角文字を同一視 
参考:MySQL 5.5 の unicode collation で同一視さ 
れる文字 
http://tmtms.hatenablog.com/entry/20110416/ 
mysql_unicode_collation 
utf8mb4_general_ciより遅い 
いろいろ考えると日本語の全文検索も MySQLがいいね! Powered by Rabbit 2.1.3
全角アルファベット 
SELECT * 
FROM memos 
WHERE content LIKE "%Hello%"; 
-- +--------------+ 
-- | content | 
-- +--------------+ 
-- | Hello world! | 
-- | Hello MySQL! | 
-- +--------------+ 
いろいろ考えると日本語の全文検索も MySQLがいいね! Powered by Rabbit 2.1.3
採用を検討 
機能は十分? 
やりたいことと相談 
性能は十分? 
データ量・リソースと相談 
実データが望ましい!!! 
Webの情報は参考程度で実際に計測 
いろいろ考えると日本語の全文検索も MySQLがいいね! Powered by Rabbit 2.1.3
性能検討例 
データ:livedoorグルメ 
https://github.com/livedoor/datasets 
件数:約20万口コミ 
CPU:Core i7 2.80GHz 
いろいろ考えると日本語の全文検索も MySQLがいいね! Powered by Rabbit 2.1.3
文字数の傾向 
SELECT 
AVG(CHAR_LENGTH(comment)) AS average, 
MIN(CHAR_LENGTH(comment)) as min, 
MAX(CHAR_LENGTH(comment)) as max 
FROM ratings_all; 
-- average: 380.2013 
-- min: 2 
-- max: 6243 
いろいろ考えると日本語の全文検索も MySQLがいいね! Powered by Rabbit 2.1.3
%ラーメン% 
SELECT COUNT(*) AS count 
FROM ratings_all 
WHERE comment LIKE "%ラーメン%"; 
-- count: 31428 
-- 0.898sec 
いろいろ考えると日本語の全文検索も MySQLがいいね! Powered by Rabbit 2.1.3
%ラーメン%の傾向 
実行時間は総件数に比例 
総件数時間(秒) 
1000 0.01 
5000 0.03 
10000 0.05 
100000 0.50 
205832 0.89 
いろいろ考えると日本語の全文検索も MySQLがいいね! Powered by Rabbit 2.1.3
AND 
SELECT COUNT(*) AS count 
FROM ratings_all 
WHERE 
comment LIKE "%ラーメン%" AND 
comment LIKE "%焼き肉%"; 
-- count: 69 
-- 1.01sec 
いろいろ考えると日本語の全文検索も MySQLがいいね! Powered by Rabbit 2.1.3
ANDの傾向 
条件数1の場合とあまり変わらない 
総件数時間(秒) 条件数1 
1000 0.01 0.01 
5000 0.03 0.03 
10000 0.06 0.05 
100000 0.57 0.50 
205832 1.01 0.89 
いろいろ考えると日本語の全文検索も MySQLがいいね! Powered by Rabbit 2.1.3
OR 
SELECT COUNT(*) AS count 
FROM ratings_all 
WHERE 
comment LIKE "%ラーメン%" OR 
comment LIKE "%焼き肉%"; 
-- count: 31994 
-- 1.37sec 
いろいろ考えると日本語の全文検索も MySQLがいいね! Powered by Rabbit 2.1.3
ORの傾向 
2倍いかないくらいには増える 
総件数時間(秒) 条件数1 
1000 0.02 0.01 
5000 0.05 0.03 
10000 0.09 0.05 
100000 0.77 0.50 
205832 1.37 0.89 
いろいろ考えると日本語の全文検索も MySQLがいいね! Powered by Rabbit 2.1.3
考察 
自分たちのデータ量は? 
各レコードのテキストサイズ 
総件数 
どのくらい性能が必要? 
1リクエストのレスポンスタイム 
単位時間あたりの処理数 
いろいろ考えると日本語の全文検索も MySQLがいいね! Powered by Rabbit 2.1.3
考察例 
自分たちのデータ量は? 
各テキストサイズ:400文字くらい 
(データセットと同じくらい) 
総件数:2,3万くらい 
どのくらい性能が必要? 
s/req: 0.5秒以内 
queries/s: 10 
いろいろ考えると日本語の全文検索も MySQLがいいね! Powered by Rabbit 2.1.3
実行時間 
0.2秒以内には終わりそう 
総件数時間(秒) 
10000 0.05 
100000 0.50 
いろいろ考えると日本語の全文検索も MySQLがいいね! Powered by Rabbit 2.1.3
スループット 
1クエリー0.2秒 
1秒で5クエリー 
CPUコア2つで10qpsいけそう 
(実際は他の条件も加わる→もっと時間がかかるはず) 
いろいろ考えると日本語の全文検索も MySQLがいいね! Powered by Rabbit 2.1.3
考察結果は? 
LIKEで十分? 
機能面と性能面を検討 
MySQLでLIKEで日本語全文検索! 
(全文検索エンジンが必要ないなら使わなくてよい) 
LIKEだと不十分? 
機能面?性能面? 
別の選択肢を検討 
いろいろ考えると日本語の全文検索も MySQLがいいね! Powered by Rabbit 2.1.3
別の選択肢 
MySQLベースの全文検索機能 
全文検索サーバーと連携 
いろいろ考えると日本語の全文検索も MySQLがいいね! Powered by Rabbit 2.1.3
全文検索機能のスキーマ 
CREATE TABLE ratings_all_index ( 
comment TEXT, 
FULLTEXT INDEX (comment) 
-- ↑を追加するだけ 
) DEFAULT CHARSET=utf8mb4; 
いろいろ考えると日本語の全文検索も MySQLがいいね! Powered by Rabbit 2.1.3
全文検索機能の検索方法 
SELECT COUNT(*) AS count 
FROM ratings_all_index 
WHERE 
MATCH (comment) 
AGAINST ("+ラーメン +焼き肉" 
IN BOOLEAN MODE); 
いろいろ考えると日本語の全文検索も MySQLがいいね! Powered by Rabbit 2.1.3
全文検索機能のよいところ 
簡単! 
高速な検索! 
インデックスを使った検索 
(LIKEは逐次検索) 
MySQLとよく統合されている 
データ登録→インデックス自動更新 
トランザクションにも対応 
いろいろ考えると日本語の全文検索も MySQLがいいね! Powered by Rabbit 2.1.3
全文検索機能の悪いところ 
日本語未対応 
更新が遅い 
いろいろ考えると日本語の全文検索も MySQLがいいね! Powered by Rabbit 2.1.3
日本語未対応 
対策 
アプリケーション側で前処理 
参考:MySQL Casual Talks Vol.4 
「MySQL-5.6で始める全文検索 〜InnoDB FTS編〜」 
http://www.slideshare.net/y-ken/my-sql-56innodb-fts 
トレードオフ 
インフラの管理コストと 
アプリのメンテコスト 
(簡単に使えるというメリットは減る) 
いろいろ考えると日本語の全文検索も MySQLがいいね! Powered by Rabbit 2.1.3
更新が遅い 
ベンチマーク結果 
前述のスライドを参照 
対策 
速いディスクを使う 
あまり更新しない 
検討ポイント 
どのくらい更新があるか 
いろいろ考えると日本語の全文検索も MySQLがいいね! Powered by Rabbit 2.1.3
全文検索機能のまとめ 
データは安全 
トランザクションを使える 
レプリケーションもできる 
検索は速い・更新は遅い 
日本語対応にはひと手間必要 
いろいろ考えると日本語の全文検索も MySQLがいいね! Powered by Rabbit 2.1.3
全文検索機能を使う? 
そこそこのデータ量がある 
アプリ側のひと手間を 
許せるならアリ 
更新が少ないならアリ 
いろいろ考えると日本語の全文検索も MySQLがいいね! Powered by Rabbit 2.1.3
突然の質問 
MySQLの特徴と 
言えば? 
(期待する答えがでるまで聞きます) 
いろいろ考えると日本語の全文検索も MySQLがいいね! Powered by Rabbit 2.1.3
プラグイン機能 
一部の機能を追加できる 
ストレージエンジン・UDF・… 
全文検索機能も追加できる 
いろいろ考えると日本語の全文検索も MySQLがいいね! Powered by Rabbit 2.1.3
全文検索プラグイン 
Mroonga 
いろいろ考えると日本語の全文検索も MySQLがいいね! Powered by Rabbit 2.1.3
Mroongaのスキーマ 
CREATE TABLE ratings_all_index ( 
comment TEXT, 
FULLTEXT INDEX (comment) 
-- ↑と↓を追加するだけ 
) ENGINE=Mroonga 
DEFAULT CHARSET=utf8mb4; 
いろいろ考えると日本語の全文検索も MySQLがいいね! Powered by Rabbit 2.1.3
Mroongaの検索方法 
-- MySQL標準の方法と同じ 
SELECT COUNT(*) AS count 
FROM ratings_all_index 
WHERE 
MATCH (comment) 
AGAINST ("+ラーメン +焼き肉" 
IN BOOLEAN MODE); 
いろいろ考えると日本語の全文検索も MySQLがいいね! Powered by Rabbit 2.1.3
Mroongaのよいところ 
簡単! 
高速な検索と更新! 
日本語対応!(開発者が日本人) 
MySQLとそれなりに統合 
データ登録→インデックス自動更新 
いろいろ考えると日本語の全文検索も MySQLがいいね! Powered by Rabbit 2.1.3
Mroongaの悪いところ 
トランザクション非対応 
NULL非対応 
別途インストールが必要 
いろいろ考えると日本語の全文検索も MySQLがいいね! Powered by Rabbit 2.1.3
トランザクション非対応 
対策 
レプリケーションをして、 
マスターをInnoDB、 
スレーブをMroongaにする 
参考 
多くの全文検索システムは 
トランザクション非対応 
いろいろ考えると日本語の全文検索も MySQLがいいね! Powered by Rabbit 2.1.3
NULL非対応 
対策 
NULLを使わない 
いろいろ考えると日本語の全文検索も MySQLがいいね! Powered by Rabbit 2.1.3
別途インストールが必要 
対策:パッケージを使う 
パッケージ 
CentOS 6, 7 
Fedora(公式) 
Debian/Ubuntu 安定版リリース 
Windows 
OS X(Homebrew/MacPorts) 
いろいろ考えると日本語の全文検索も MySQLがいいね! Powered by Rabbit 2.1.3
Mroongaのまとめ 
日本語対応 
検索も更新も速い 
インストール作業が必要 
使うときは簡単 
いろいろ考えると日本語の全文検索も MySQLがいいね! Powered by Rabbit 2.1.3
Mroongaを使う? 
そこそこのデータ量がある 
更新が多い 
トランザクションとNULLが 
なくてもよいならアリ 
開発者を信頼できるならアリ 
いろいろ考えると日本語の全文検索も MySQLがいいね! Powered by Rabbit 2.1.3
ここまでの話のポイント 
全文検索方法の 
詳細を 
知らなくても 
使える 
いろいろ考えると日本語の全文検索も MySQLがいいね! Powered by Rabbit 2.1.3
別の選択肢 
MySQLベースの全文検索機能 
全文検索サーバーと連携 
いろいろ考えると日本語の全文検索も MySQLがいいね! Powered by Rabbit 2.1.3
全文検索サーバー 
Solr 
Elasticsearch 
Groonga 
Sphinx(http://sphinxsearch.com/) 
Amazon CloudSearch 
いろいろ考えると日本語の全文検索も MySQLがいいね! Powered by Rabbit 2.1.3
違い 
機能面 
全文検索初心者が使う分には 
どれも不足なし 
性能面 
まあまあかそこそこのデータ量 
(1台のサーバーでさばける量) 
ならどれも十分な性能 
いろいろ考えると日本語の全文検索も MySQLがいいね! Powered by Rabbit 2.1.3
機能面:補足1 
全文検索対応の進め方1 
いきなりカンペキを目指さない 
まず動かして実際に試す 
改良したいという箇所に気づく 
1つずつ改良しながら 
仕組みを学んでいく 
いろいろ考えると日本語の全文検索も MySQLがいいね! Powered by Rabbit 2.1.3
機能面:補足2 
全文検索対応の進め方2 
詳しい人に相談 
MySQLユーザ会のブースへ! 
いろいろ考えると日本語の全文検索も MySQLがいいね! Powered by Rabbit 2.1.3
連携 
いろいろ考えると日本語の全文検索も MySQLがいいね! Powered by Rabbit 2.1.3
アプリの動作:更新 
➀ 
➂ ➁ 
いろいろ考えると日本語の全文検索も MySQLがいいね! Powered by Rabbit 2.1.3
アプリの動作:更新 
更新時 
トランザクション開始 
MySQLにデータ投入 
全文検索サーバーにもデータ投入 
トランザクション終了 
ロールバックはアプリの仕事 
いろいろ考えると日本語の全文検索も MySQLがいいね! Powered by Rabbit 2.1.3
アプリの動作:検索 
➀ 
➁ ➂ 
いろいろ考えると日本語の全文検索も MySQLがいいね! Powered by Rabbit 2.1.3
アプリの動作:検索 
検索時 
全文検索サーバーで検索 
見つかったレコードIDを条件に 
MySQLで検索 
スコアとか結果をマージして表示 
JOINはアプリの仕事 
全文検索と他の検索を混ぜるときは 
どうするか考えてみよう 
いろいろ考えると日本語の全文検索も MySQLがいいね! Powered by Rabbit 2.1.3
アプリの開発 
実装 
ライブラリーを使う 
更新・検索をサポートしてくれる 
テスト 
各自全文検索サーバーを用意 
開発環境の用意が面倒になる 
(VagrantやDockerを使うといいかも) 
いろいろ考えると日本語の全文検索も MySQLがいいね! Powered by Rabbit 2.1.3
インフラ 
MySQLとは別に 
全文検索サーバーを管理 
パラメーターの設定 
落ちた時どうする? 
システムが必要なリソース増加 
例:専用マシンを追加 
いろいろ考えると日本語の全文検索も MySQLがいいね! Powered by Rabbit 2.1.3
連携したときのよいところ 
SQLが苦手なクエリーを 
効率よく実現できる 
ファセット・タグ検索 
チューニングできる 
トークナイザーを変える 
フレーズ検索→近傍検索 
トークンの正規化方法を変える等… 
いろいろ考えると日本語の全文検索も MySQLがいいね! Powered by Rabbit 2.1.3
トークナイザー 
空白区切り(英語やタグの検索に便利) 
N-gram 
適合率↓検索漏れ↓ 
アルファベットの文章で遅い 
形態素解析 
適合率↑検索漏れ↑ 
新語に弱い 
いろいろ考えると日本語の全文検索も MySQLがいいね! Powered by Rabbit 2.1.3
N-gram 
文字種が多い言語に向いている 
日本語 
文字種が少ないと効率が悪い 
英語 
文字種により挙動を変えて改善 
日本語:N-gram、英語:単語単位 
いろいろ考えると日本語の全文検索も MySQLがいいね! Powered by Rabbit 2.1.3
形態素解析 
区切り方が複数パターンある 
全パターンインデックスに登録 
↑は検索漏れは↓が適合率も↓かも 
検索時に使い分ける 
ヒットしなかったら 
N-gramにフォールバック 
いろいろ考えると日本語の全文検索も MySQLがいいね! Powered by Rabbit 2.1.3
フレーズ検索→近傍検索 
「日野でラーメン」で検索 
○「日野でラーメン」 
×「日野でみそラーメン」 
「日野 ... ラーメン」で検索 
○「日野でみそラーメン」 
○「日野で塩ラーメン」 
いろいろ考えると日本語の全文検索も MySQLがいいね! Powered by Rabbit 2.1.3
正規化 
英単語のステミング 
濁点を無視する?しない? 
すし=ずし 
ハハ=パパ=ババ 
同義語はいつ展開? 
いろいろ考えると日本語の全文検索も MySQLがいいね! Powered by Rabbit 2.1.3
連携したときのよいところ 
SQLが苦手なクエリーを 
効率よく実現できる 
ファセット・タグ検索 
チューニングできる 
トークナイザーを変える 
フレーズ検索→近傍検索 
トークンの正規化方法を変える等… 
いろいろ考えると日本語の全文検索も MySQLがいいね! Powered by Rabbit 2.1.3
連携したときの悪いところ 
メンテナンスコストが増える 
開発面でもインフラ面でも 
必要なリソースが増える 
ランニングコストが増える 
ある程度全文検索の知識が必要 
いろいろ考えると日本語の全文検索も MySQLがいいね! Powered by Rabbit 2.1.3
サーバー連携のまとめ 
日本語対応 
検索も更新も速い 
チューニングできる 
導入・運用は手間が増える 
使うときも手間が増える 
いろいろ考えると日本語の全文検索も MySQLがいいね! Powered by Rabbit 2.1.3
全文検索サーバーを使う? 
そこそこのデータ量がある 
チューニングしたい 
導入・運用・開発の手間増加が 
割に合うならアリ 
いろいろ考えると日本語の全文検索も MySQLがいいね! Powered by Rabbit 2.1.3
参考:PostgreSQL 
日本語未対応 
プラグインで対応 
完全転置インデックスではない 
インデックスだけ使うと誤検出あり 
↑の後にLIKEで誤検出を除去 
いろいろ考えると日本語の全文検索も MySQLがいいね! Powered by Rabbit 2.1.3
まとめ 
LIKEで十分ならLIKEでいい 
LIKEで不足ならMroonga 
それでも不足なら 
マスターデータはMySQL 
検索対象は全文検索サーバー 
いろいろ考えると日本語の全文検索も MySQLがいいね! Powered by Rabbit 2.1.3
つまり! 
いろいろ考えると 
日本語の全文検索も 
MySQLがいいね! 
MySQLが役に立つね 
いろいろ考えると日本語の全文検索も MySQLがいいね! Powered by Rabbit 2.1.3
お知らせ1 
MySQLユーザ会ブースあり 
隣はOracleのMySQLの人たち 
17:15-別のMySQL枠あり 
OracleのMySQLの人の話 
いろいろ考えると日本語の全文検索も MySQLがいいね! Powered by Rabbit 2.1.3
お知らせ2 
MariaDBにMroongaバンドル! 
10.0.15から組み込み! 
別途インストールしなくてよい! 
いろいろ考えると日本語の全文検索も MySQLがいいね! Powered by Rabbit 2.1.3
お知らせ3 
検索エンジンについて知りたい 
「検索エンジン自作入門」 
いい肉の日に渋谷で 
Groongaイベント! 
「いい肉 Groonga」で検索 
自作本のサイン会をやるよ! 
いろいろ考えると日本語の全文検索も MySQLがいいね! Powered by Rabbit 2.1.3
お知らせ4 
Groongaをもっと知りたい 
Groongaドキュメント読書会 
詳細は↑で検索 
Mroongaが使っている 
全文検索エンジンの理解を深める会 
1,2ヶ月に1回開催 
いろいろ考えると日本語の全文検索も MySQLがいいね! Powered by Rabbit 2.1.3

More Related Content

What's hot

そんなトランザクションマネージャで大丈夫か?
そんなトランザクションマネージャで大丈夫か?そんなトランザクションマネージャで大丈夫か?
そんなトランザクションマネージャで大丈夫か?takezoe
 
MySQLの文字コード事情
MySQLの文字コード事情MySQLの文字コード事情
MySQLの文字コード事情
Masahiro Tomita
 
PostgreSQL 15の新機能を徹底解説
PostgreSQL 15の新機能を徹底解説PostgreSQL 15の新機能を徹底解説
PostgreSQL 15の新機能を徹底解説
Masahiko Sawada
 
PostgreSQLの関数属性を知ろう
PostgreSQLの関数属性を知ろうPostgreSQLの関数属性を知ろう
PostgreSQLの関数属性を知ろう
kasaharatt
 
Where狙いのキー、order by狙いのキー
Where狙いのキー、order by狙いのキーWhere狙いのキー、order by狙いのキー
Where狙いのキー、order by狙いのキー
yoku0825
 
そうだったのか! よくわかる process.nextTick() node.jsのイベントループを理解する
そうだったのか! よくわかる process.nextTick() node.jsのイベントループを理解するそうだったのか! よくわかる process.nextTick() node.jsのイベントループを理解する
そうだったのか! よくわかる process.nextTick() node.jsのイベントループを理解するshigeki_ohtsu
 
雑なMySQLパフォーマンスチューニング
雑なMySQLパフォーマンスチューニング雑なMySQLパフォーマンスチューニング
雑なMySQLパフォーマンスチューニング
yoku0825
 
MySQLテーブル設計入門
MySQLテーブル設計入門MySQLテーブル設計入門
MySQLテーブル設計入門
yoku0825
 
MySQLアンチパターン
MySQLアンチパターンMySQLアンチパターン
MySQLアンチパターン
yoku0825
 
サーバーが完膚なきまでに死んでもMySQLのデータを失わないための表技
サーバーが完膚なきまでに死んでもMySQLのデータを失わないための表技サーバーが完膚なきまでに死んでもMySQLのデータを失わないための表技
サーバーが完膚なきまでに死んでもMySQLのデータを失わないための表技
yoku0825
 
がんばらなくても C# で Single Page Web アプリケーションが書けてしまう「Blazor」とは
がんばらなくても C# で Single Page Web アプリケーションが書けてしまう「Blazor」とはがんばらなくても C# で Single Page Web アプリケーションが書けてしまう「Blazor」とは
がんばらなくても C# で Single Page Web アプリケーションが書けてしまう「Blazor」とは
Jun-ichi Sakamoto
 
大規模負荷試験時にやったこと
大規模負荷試験時にやったこと大規模負荷試験時にやったこと
大規模負荷試験時にやったこと
まべ☆てっく運営
 
PostgreSQLモニタリングの基本とNTTデータが追加したモニタリング新機能(Open Source Conference 2021 Online F...
PostgreSQLモニタリングの基本とNTTデータが追加したモニタリング新機能(Open Source Conference 2021 Online F...PostgreSQLモニタリングの基本とNTTデータが追加したモニタリング新機能(Open Source Conference 2021 Online F...
PostgreSQLモニタリングの基本とNTTデータが追加したモニタリング新機能(Open Source Conference 2021 Online F...
NTT DATA Technology & Innovation
 
MySQLを割と一人で300台管理する技術
MySQLを割と一人で300台管理する技術MySQLを割と一人で300台管理する技術
MySQLを割と一人で300台管理する技術
yoku0825
 
ASP.NETの進化とASP.NET Core Blazorの凄さ
ASP.NETの進化とASP.NET Core Blazorの凄さASP.NETの進化とASP.NET Core Blazorの凄さ
ASP.NETの進化とASP.NET Core Blazorの凄さ
Sho Okada
 
SQLアンチパターン~スパゲッティクエリ
SQLアンチパターン~スパゲッティクエリSQLアンチパターン~スパゲッティクエリ
SQLアンチパターン~スパゲッティクエリ
Itabashi Masayuki
 
その Pod 突然落ちても大丈夫ですか!?(OCHaCafe5 #5 実験!カオスエンジニアリング 発表資料)
その Pod 突然落ちても大丈夫ですか!?(OCHaCafe5 #5 実験!カオスエンジニアリング 発表資料)その Pod 突然落ちても大丈夫ですか!?(OCHaCafe5 #5 実験!カオスエンジニアリング 発表資料)
その Pod 突然落ちても大丈夫ですか!?(OCHaCafe5 #5 実験!カオスエンジニアリング 発表資料)
NTT DATA Technology & Innovation
 
SQL Server中級者のための実践で使えるかもしれないTips集
SQL Server中級者のための実践で使えるかもしれないTips集SQL Server中級者のための実践で使えるかもしれないTips集
SQL Server中級者のための実践で使えるかもしれないTips集
Sho Okada
 
MHA for MySQLとDeNAのオープンソースの話
MHA for MySQLとDeNAのオープンソースの話MHA for MySQLとDeNAのオープンソースの話
MHA for MySQLとDeNAのオープンソースの話Yoshinori Matsunobu
 

What's hot (20)

そんなトランザクションマネージャで大丈夫か?
そんなトランザクションマネージャで大丈夫か?そんなトランザクションマネージャで大丈夫か?
そんなトランザクションマネージャで大丈夫か?
 
MySQLの文字コード事情
MySQLの文字コード事情MySQLの文字コード事情
MySQLの文字コード事情
 
PostgreSQL 15の新機能を徹底解説
PostgreSQL 15の新機能を徹底解説PostgreSQL 15の新機能を徹底解説
PostgreSQL 15の新機能を徹底解説
 
Java8でRDBMS作ったよ
Java8でRDBMS作ったよJava8でRDBMS作ったよ
Java8でRDBMS作ったよ
 
PostgreSQLの関数属性を知ろう
PostgreSQLの関数属性を知ろうPostgreSQLの関数属性を知ろう
PostgreSQLの関数属性を知ろう
 
Where狙いのキー、order by狙いのキー
Where狙いのキー、order by狙いのキーWhere狙いのキー、order by狙いのキー
Where狙いのキー、order by狙いのキー
 
そうだったのか! よくわかる process.nextTick() node.jsのイベントループを理解する
そうだったのか! よくわかる process.nextTick() node.jsのイベントループを理解するそうだったのか! よくわかる process.nextTick() node.jsのイベントループを理解する
そうだったのか! よくわかる process.nextTick() node.jsのイベントループを理解する
 
雑なMySQLパフォーマンスチューニング
雑なMySQLパフォーマンスチューニング雑なMySQLパフォーマンスチューニング
雑なMySQLパフォーマンスチューニング
 
MySQLテーブル設計入門
MySQLテーブル設計入門MySQLテーブル設計入門
MySQLテーブル設計入門
 
MySQLアンチパターン
MySQLアンチパターンMySQLアンチパターン
MySQLアンチパターン
 
サーバーが完膚なきまでに死んでもMySQLのデータを失わないための表技
サーバーが完膚なきまでに死んでもMySQLのデータを失わないための表技サーバーが完膚なきまでに死んでもMySQLのデータを失わないための表技
サーバーが完膚なきまでに死んでもMySQLのデータを失わないための表技
 
がんばらなくても C# で Single Page Web アプリケーションが書けてしまう「Blazor」とは
がんばらなくても C# で Single Page Web アプリケーションが書けてしまう「Blazor」とはがんばらなくても C# で Single Page Web アプリケーションが書けてしまう「Blazor」とは
がんばらなくても C# で Single Page Web アプリケーションが書けてしまう「Blazor」とは
 
大規模負荷試験時にやったこと
大規模負荷試験時にやったこと大規模負荷試験時にやったこと
大規模負荷試験時にやったこと
 
PostgreSQLモニタリングの基本とNTTデータが追加したモニタリング新機能(Open Source Conference 2021 Online F...
PostgreSQLモニタリングの基本とNTTデータが追加したモニタリング新機能(Open Source Conference 2021 Online F...PostgreSQLモニタリングの基本とNTTデータが追加したモニタリング新機能(Open Source Conference 2021 Online F...
PostgreSQLモニタリングの基本とNTTデータが追加したモニタリング新機能(Open Source Conference 2021 Online F...
 
MySQLを割と一人で300台管理する技術
MySQLを割と一人で300台管理する技術MySQLを割と一人で300台管理する技術
MySQLを割と一人で300台管理する技術
 
ASP.NETの進化とASP.NET Core Blazorの凄さ
ASP.NETの進化とASP.NET Core Blazorの凄さASP.NETの進化とASP.NET Core Blazorの凄さ
ASP.NETの進化とASP.NET Core Blazorの凄さ
 
SQLアンチパターン~スパゲッティクエリ
SQLアンチパターン~スパゲッティクエリSQLアンチパターン~スパゲッティクエリ
SQLアンチパターン~スパゲッティクエリ
 
その Pod 突然落ちても大丈夫ですか!?(OCHaCafe5 #5 実験!カオスエンジニアリング 発表資料)
その Pod 突然落ちても大丈夫ですか!?(OCHaCafe5 #5 実験!カオスエンジニアリング 発表資料)その Pod 突然落ちても大丈夫ですか!?(OCHaCafe5 #5 実験!カオスエンジニアリング 発表資料)
その Pod 突然落ちても大丈夫ですか!?(OCHaCafe5 #5 実験!カオスエンジニアリング 発表資料)
 
SQL Server中級者のための実践で使えるかもしれないTips集
SQL Server中級者のための実践で使えるかもしれないTips集SQL Server中級者のための実践で使えるかもしれないTips集
SQL Server中級者のための実践で使えるかもしれないTips集
 
MHA for MySQLとDeNAのオープンソースの話
MHA for MySQLとDeNAのオープンソースの話MHA for MySQLとDeNAのオープンソースの話
MHA for MySQLとDeNAのオープンソースの話
 

Viewers also liked

MySQL 5.7 InnoDB 日本語全文検索
MySQL 5.7 InnoDB 日本語全文検索MySQL 5.7 InnoDB 日本語全文検索
MySQL 5.7 InnoDB 日本語全文検索
yoyamasaki
 
MySQL Casual Talks Vol.4 「MySQL-5.6で始める全文検索 〜InnoDB FTS編〜」
MySQL Casual Talks Vol.4 「MySQL-5.6で始める全文検索 〜InnoDB FTS編〜」MySQL Casual Talks Vol.4 「MySQL-5.6で始める全文検索 〜InnoDB FTS編〜」
MySQL Casual Talks Vol.4 「MySQL-5.6で始める全文検索 〜InnoDB FTS編〜」
Kentaro Yoshida
 
PHPで全文検索エンジンをつくるまで
PHPで全文検索エンジンをつくるまでPHPで全文検索エンジンをつくるまで
PHPで全文検索エンジンをつくるまで
優之 田中
 
Mroongaを使ったときの MySQLの制限との戦い
Mroongaを使ったときの MySQLの制限との戦いMroongaを使ったときの MySQLの制限との戦い
Mroongaを使ったときの MySQLの制限との戦い
Naoya Murakami
 
MySQL 5.7 InnoDB 日本語全文検索(その2)
MySQL 5.7 InnoDB 日本語全文検索(その2)MySQL 5.7 InnoDB 日本語全文検索(その2)
MySQL 5.7 InnoDB 日本語全文検索(その2)
yoyamasaki
 
みんな大好き“全文検索 on AWS”を試してみました!
みんな大好き“全文検索 on AWS”を試してみました!みんな大好き“全文検索 on AWS”を試してみました!
みんな大好き“全文検索 on AWS”を試してみました!
宗 大栗
 
Elastic searchとは_エンジニア勉強会20140212
Elastic searchとは_エンジニア勉強会20140212Elastic searchとは_エンジニア勉強会20140212
Elastic searchとは_エンジニア勉強会20140212
エンジニア勉強会 エスキュービズム
 
20160929 inno db_fts_jp
20160929 inno db_fts_jp20160929 inno db_fts_jp
20160929 inno db_fts_jp
yoyamasaki
 
Mroonga最新情報2016
Mroonga最新情報2016Mroonga最新情報2016
Mroonga最新情報2016
Kouhei Sutou
 
PHP から Groonga を使うにはこんなコードになるよ!
PHP から Groonga を使うにはこんなコードになるよ!PHP から Groonga を使うにはこんなコードになるよ!
PHP から Groonga を使うにはこんなコードになるよ!
do_aki
 
日本企業における外国人への日本語教育
日本企業における外国人への日本語教育日本企業における外国人への日本語教育
日本企業における外国人への日本語教育
Kei Koike
 
Mroongaを選んだ理由と
ちょっと嬉しかった話
Mroongaを選んだ理由と
ちょっと嬉しかった話Mroongaを選んだ理由と
ちょっと嬉しかった話
Mroongaを選んだ理由と
ちょっと嬉しかった話Terui Masashi
 
Groongaでのタグ検索と表記揺れとの戦い
Groongaでのタグ検索と表記揺れとの戦いGroongaでのタグ検索と表記揺れとの戦い
Groongaでのタグ検索と表記揺れとの戦いNaoya Murakami
 
Mroongaを社内クラウド的なMySQLプラットフォームに標準搭載している話 #groonga
Mroongaを社内クラウド的なMySQLプラットフォームに標準搭載している話 #groongaMroongaを社内クラウド的なMySQLプラットフォームに標準搭載している話 #groonga
Mroongaを社内クラウド的なMySQLプラットフォームに標準搭載している話 #groonga
Yahoo!デベロッパーネットワーク
 
MySQL対応全文検索システムMroonga(むるんが)
MySQL対応全文検索システムMroonga(むるんが)MySQL対応全文検索システムMroonga(むるんが)
MySQL対応全文検索システムMroonga(むるんが)
Hideshi Ogoshi
 
Mysql+Mroongaで全文検索
Mysql+Mroongaで全文検索Mysql+Mroongaで全文検索
Mysql+Mroongaで全文検索
yoyamasaki
 
全文検索エンジンMroonga_エンジニア勉強会20140418
全文検索エンジンMroonga_エンジニア勉強会20140418全文検索エンジンMroonga_エンジニア勉強会20140418
全文検索エンジンMroonga_エンジニア勉強会20140418
エンジニア勉強会 エスキュービズム
 
MySQL最新情報 ※2015年9月5日「第1回 関西DB勉強会」での発表資料
MySQL最新情報 ※2015年9月5日「第1回 関西DB勉強会」での発表資料MySQL最新情報 ※2015年9月5日「第1回 関西DB勉強会」での発表資料
MySQL最新情報 ※2015年9月5日「第1回 関西DB勉強会」での発表資料
yoyamasaki
 
States of Dolphin - MySQL最新技術情報2013秋 -
States of Dolphin - MySQL最新技術情報2013秋 -States of Dolphin - MySQL最新技術情報2013秋 -
States of Dolphin - MySQL最新技術情報2013秋 -
yoyamasaki
 
ScalikeJDBC Tutorial for Beginners
ScalikeJDBC Tutorial for BeginnersScalikeJDBC Tutorial for Beginners
ScalikeJDBC Tutorial for Beginners
Kazuhiro Sera
 

Viewers also liked (20)

MySQL 5.7 InnoDB 日本語全文検索
MySQL 5.7 InnoDB 日本語全文検索MySQL 5.7 InnoDB 日本語全文検索
MySQL 5.7 InnoDB 日本語全文検索
 
MySQL Casual Talks Vol.4 「MySQL-5.6で始める全文検索 〜InnoDB FTS編〜」
MySQL Casual Talks Vol.4 「MySQL-5.6で始める全文検索 〜InnoDB FTS編〜」MySQL Casual Talks Vol.4 「MySQL-5.6で始める全文検索 〜InnoDB FTS編〜」
MySQL Casual Talks Vol.4 「MySQL-5.6で始める全文検索 〜InnoDB FTS編〜」
 
PHPで全文検索エンジンをつくるまで
PHPで全文検索エンジンをつくるまでPHPで全文検索エンジンをつくるまで
PHPで全文検索エンジンをつくるまで
 
Mroongaを使ったときの MySQLの制限との戦い
Mroongaを使ったときの MySQLの制限との戦いMroongaを使ったときの MySQLの制限との戦い
Mroongaを使ったときの MySQLの制限との戦い
 
MySQL 5.7 InnoDB 日本語全文検索(その2)
MySQL 5.7 InnoDB 日本語全文検索(その2)MySQL 5.7 InnoDB 日本語全文検索(その2)
MySQL 5.7 InnoDB 日本語全文検索(その2)
 
みんな大好き“全文検索 on AWS”を試してみました!
みんな大好き“全文検索 on AWS”を試してみました!みんな大好き“全文検索 on AWS”を試してみました!
みんな大好き“全文検索 on AWS”を試してみました!
 
Elastic searchとは_エンジニア勉強会20140212
Elastic searchとは_エンジニア勉強会20140212Elastic searchとは_エンジニア勉強会20140212
Elastic searchとは_エンジニア勉強会20140212
 
20160929 inno db_fts_jp
20160929 inno db_fts_jp20160929 inno db_fts_jp
20160929 inno db_fts_jp
 
Mroonga最新情報2016
Mroonga最新情報2016Mroonga最新情報2016
Mroonga最新情報2016
 
PHP から Groonga を使うにはこんなコードになるよ!
PHP から Groonga を使うにはこんなコードになるよ!PHP から Groonga を使うにはこんなコードになるよ!
PHP から Groonga を使うにはこんなコードになるよ!
 
日本企業における外国人への日本語教育
日本企業における外国人への日本語教育日本企業における外国人への日本語教育
日本企業における外国人への日本語教育
 
Mroongaを選んだ理由と
ちょっと嬉しかった話
Mroongaを選んだ理由と
ちょっと嬉しかった話Mroongaを選んだ理由と
ちょっと嬉しかった話
Mroongaを選んだ理由と
ちょっと嬉しかった話
 
Groongaでのタグ検索と表記揺れとの戦い
Groongaでのタグ検索と表記揺れとの戦いGroongaでのタグ検索と表記揺れとの戦い
Groongaでのタグ検索と表記揺れとの戦い
 
Mroongaを社内クラウド的なMySQLプラットフォームに標準搭載している話 #groonga
Mroongaを社内クラウド的なMySQLプラットフォームに標準搭載している話 #groongaMroongaを社内クラウド的なMySQLプラットフォームに標準搭載している話 #groonga
Mroongaを社内クラウド的なMySQLプラットフォームに標準搭載している話 #groonga
 
MySQL対応全文検索システムMroonga(むるんが)
MySQL対応全文検索システムMroonga(むるんが)MySQL対応全文検索システムMroonga(むるんが)
MySQL対応全文検索システムMroonga(むるんが)
 
Mysql+Mroongaで全文検索
Mysql+Mroongaで全文検索Mysql+Mroongaで全文検索
Mysql+Mroongaで全文検索
 
全文検索エンジンMroonga_エンジニア勉強会20140418
全文検索エンジンMroonga_エンジニア勉強会20140418全文検索エンジンMroonga_エンジニア勉強会20140418
全文検索エンジンMroonga_エンジニア勉強会20140418
 
MySQL最新情報 ※2015年9月5日「第1回 関西DB勉強会」での発表資料
MySQL最新情報 ※2015年9月5日「第1回 関西DB勉強会」での発表資料MySQL最新情報 ※2015年9月5日「第1回 関西DB勉強会」での発表資料
MySQL最新情報 ※2015年9月5日「第1回 関西DB勉強会」での発表資料
 
States of Dolphin - MySQL最新技術情報2013秋 -
States of Dolphin - MySQL最新技術情報2013秋 -States of Dolphin - MySQL最新技術情報2013秋 -
States of Dolphin - MySQL最新技術情報2013秋 -
 
ScalikeJDBC Tutorial for Beginners
ScalikeJDBC Tutorial for BeginnersScalikeJDBC Tutorial for Beginners
ScalikeJDBC Tutorial for Beginners
 

Similar to いろいろ考えると日本語の全文検索もMySQLがいいね!

MySQLとPostgreSQLと日本語全文検索 - Azure DatabaseでMroonga・PGroongaを使いたいですよね!?
MySQLとPostgreSQLと日本語全文検索 - Azure DatabaseでMroonga・PGroongaを使いたいですよね!?MySQLとPostgreSQLと日本語全文検索 - Azure DatabaseでMroonga・PGroongaを使いたいですよね!?
MySQLとPostgreSQLと日本語全文検索 - Azure DatabaseでMroonga・PGroongaを使いたいですよね!?
Kouhei Sutou
 
MySQL・PostgreSQLだけで作る高速でリッチな全文検索システム
MySQL・PostgreSQLだけで作る高速でリッチな全文検索システムMySQL・PostgreSQLだけで作る高速でリッチな全文検索システム
MySQL・PostgreSQLだけで作る高速でリッチな全文検索システム
Kouhei Sutou
 
PostgreSQL使いのエンジニアから見たMySQL
PostgreSQL使いのエンジニアから見たMySQLPostgreSQL使いのエンジニアから見たMySQL
PostgreSQL使いのエンジニアから見たMySQL
toshihiro_kitagawa
 
MySQL 4.0で9年動き続けたサーバを リプレイスしてバージョンアップした話
MySQL 4.0で9年動き続けたサーバを リプレイスしてバージョンアップした話MySQL 4.0で9年動き続けたサーバを リプレイスしてバージョンアップした話
MySQL 4.0で9年動き続けたサーバを リプレイスしてバージョンアップした話
Takahiro Okumura
 
ニコニコニュースと全文検索
ニコニコニュースと全文検索ニコニコニュースと全文検索
ニコニコニュースと全文検索techtalkdwango
 
Linux/DB Tuning (DevSumi2010, Japanese)
Linux/DB Tuning (DevSumi2010, Japanese)Linux/DB Tuning (DevSumi2010, Japanese)
Linux/DB Tuning (DevSumi2010, Japanese)Yoshinori Matsunobu
 
MySQL・PostgreSQLだけで作る高速あいまい全文検索システム
MySQL・PostgreSQLだけで作る高速あいまい全文検索システムMySQL・PostgreSQLだけで作る高速あいまい全文検索システム
MySQL・PostgreSQLだけで作る高速あいまい全文検索システム
Kouhei Sutou
 
Mroonga開発者が来たぞ!
Mroonga開発者が来たぞ!Mroonga開発者が来たぞ!
Mroonga開発者が来たぞ!
Kouhei Sutou
 
Awsをつかってみた
AwsをつかってみたAwsをつかってみた
Awsをつかってみた
Tomoyuki Tochihira
 
オープンソースRDBMS新機能ランダウンOSC2017TokyoSpring
オープンソースRDBMS新機能ランダウンOSC2017TokyoSpringオープンソースRDBMS新機能ランダウンOSC2017TokyoSpring
オープンソースRDBMS新機能ランダウンOSC2017TokyoSpring
Meiji Kimura
 
MySQLチューニング
MySQLチューニングMySQLチューニング
MySQLチューニング
yoku0825
 
いまいまMySQL@OSC2016長岡
いまいまMySQL@OSC2016長岡いまいまMySQL@OSC2016長岡
いまいまMySQL@OSC2016長岡
sakaik
 
20120405 setsunaセミナー
20120405 setsunaセミナー20120405 setsunaセミナー
20120405 setsunaセミナー
Takahiro Iwase
 
高トラフィックサイトをRailsで構築するためのTips基礎編
高トラフィックサイトをRailsで構築するためのTips基礎編高トラフィックサイトをRailsで構築するためのTips基礎編
高トラフィックサイトをRailsで構築するためのTips基礎編
Kazuya Numata
 
Ph perがawsと出会ってdev opsを目指した話
Ph perがawsと出会ってdev opsを目指した話Ph perがawsと出会ってdev opsを目指した話
Ph perがawsと出会ってdev opsを目指した話
Shota Umeda
 
[OSC 2017 Tokyo/Fall] OSSコンソーシアム DB部会 MySQL 8.0
[OSC 2017 Tokyo/Fall] OSSコンソーシアム DB部会 MySQL 8.0[OSC 2017 Tokyo/Fall] OSSコンソーシアム DB部会 MySQL 8.0
[OSC 2017 Tokyo/Fall] OSSコンソーシアム DB部会 MySQL 8.0
Ryusuke Kajiyama
 
文字化け
文字化け文字化け
文字化け
Masahiro Tomita
 

Similar to いろいろ考えると日本語の全文検索もMySQLがいいね! (20)

MySQLとPostgreSQLと日本語全文検索 - Azure DatabaseでMroonga・PGroongaを使いたいですよね!?
MySQLとPostgreSQLと日本語全文検索 - Azure DatabaseでMroonga・PGroongaを使いたいですよね!?MySQLとPostgreSQLと日本語全文検索 - Azure DatabaseでMroonga・PGroongaを使いたいですよね!?
MySQLとPostgreSQLと日本語全文検索 - Azure DatabaseでMroonga・PGroongaを使いたいですよね!?
 
MySQL・PostgreSQLだけで作る高速でリッチな全文検索システム
MySQL・PostgreSQLだけで作る高速でリッチな全文検索システムMySQL・PostgreSQLだけで作る高速でリッチな全文検索システム
MySQL・PostgreSQLだけで作る高速でリッチな全文検索システム
 
PostgreSQL使いのエンジニアから見たMySQL
PostgreSQL使いのエンジニアから見たMySQLPostgreSQL使いのエンジニアから見たMySQL
PostgreSQL使いのエンジニアから見たMySQL
 
MySQL 4.0で9年動き続けたサーバを リプレイスしてバージョンアップした話
MySQL 4.0で9年動き続けたサーバを リプレイスしてバージョンアップした話MySQL 4.0で9年動き続けたサーバを リプレイスしてバージョンアップした話
MySQL 4.0で9年動き続けたサーバを リプレイスしてバージョンアップした話
 
ニコニコニュースと全文検索
ニコニコニュースと全文検索ニコニコニュースと全文検索
ニコニコニュースと全文検索
 
Linux/DB Tuning (DevSumi2010, Japanese)
Linux/DB Tuning (DevSumi2010, Japanese)Linux/DB Tuning (DevSumi2010, Japanese)
Linux/DB Tuning (DevSumi2010, Japanese)
 
MySQL・PostgreSQLだけで作る高速あいまい全文検索システム
MySQL・PostgreSQLだけで作る高速あいまい全文検索システムMySQL・PostgreSQLだけで作る高速あいまい全文検索システム
MySQL・PostgreSQLだけで作る高速あいまい全文検索システム
 
Zynga
ZyngaZynga
Zynga
 
Aws privte20110406 arai
Aws privte20110406 araiAws privte20110406 arai
Aws privte20110406 arai
 
Mroonga開発者が来たぞ!
Mroonga開発者が来たぞ!Mroonga開発者が来たぞ!
Mroonga開発者が来たぞ!
 
全文検索入門
全文検索入門全文検索入門
全文検索入門
 
Awsをつかってみた
AwsをつかってみたAwsをつかってみた
Awsをつかってみた
 
オープンソースRDBMS新機能ランダウンOSC2017TokyoSpring
オープンソースRDBMS新機能ランダウンOSC2017TokyoSpringオープンソースRDBMS新機能ランダウンOSC2017TokyoSpring
オープンソースRDBMS新機能ランダウンOSC2017TokyoSpring
 
MySQLチューニング
MySQLチューニングMySQLチューニング
MySQLチューニング
 
いまいまMySQL@OSC2016長岡
いまいまMySQL@OSC2016長岡いまいまMySQL@OSC2016長岡
いまいまMySQL@OSC2016長岡
 
20120405 setsunaセミナー
20120405 setsunaセミナー20120405 setsunaセミナー
20120405 setsunaセミナー
 
高トラフィックサイトをRailsで構築するためのTips基礎編
高トラフィックサイトをRailsで構築するためのTips基礎編高トラフィックサイトをRailsで構築するためのTips基礎編
高トラフィックサイトをRailsで構築するためのTips基礎編
 
Ph perがawsと出会ってdev opsを目指した話
Ph perがawsと出会ってdev opsを目指した話Ph perがawsと出会ってdev opsを目指した話
Ph perがawsと出会ってdev opsを目指した話
 
[OSC 2017 Tokyo/Fall] OSSコンソーシアム DB部会 MySQL 8.0
[OSC 2017 Tokyo/Fall] OSSコンソーシアム DB部会 MySQL 8.0[OSC 2017 Tokyo/Fall] OSSコンソーシアム DB部会 MySQL 8.0
[OSC 2017 Tokyo/Fall] OSSコンソーシアム DB部会 MySQL 8.0
 
文字化け
文字化け文字化け
文字化け
 

More from Kouhei Sutou

RubyKaigi 2022 - Fast data processing with Ruby and Apache Arrow
RubyKaigi 2022 - Fast data processing with Ruby and Apache ArrowRubyKaigi 2022 - Fast data processing with Ruby and Apache Arrow
RubyKaigi 2022 - Fast data processing with Ruby and Apache Arrow
Kouhei Sutou
 
Apache Arrow Flight – ビッグデータ用高速データ転送フレームワーク #dbts2021
Apache Arrow Flight – ビッグデータ用高速データ転送フレームワーク #dbts2021Apache Arrow Flight – ビッグデータ用高速データ転送フレームワーク #dbts2021
Apache Arrow Flight – ビッグデータ用高速データ転送フレームワーク #dbts2021
Kouhei Sutou
 
RubyKaigi Takeout 2021 - Red Arrow - Ruby and Apache Arrow
RubyKaigi Takeout 2021 - Red Arrow - Ruby and Apache ArrowRubyKaigi Takeout 2021 - Red Arrow - Ruby and Apache Arrow
RubyKaigi Takeout 2021 - Red Arrow - Ruby and Apache Arrow
Kouhei Sutou
 
Rubyと仕事と自由なソフトウェア
Rubyと仕事と自由なソフトウェアRubyと仕事と自由なソフトウェア
Rubyと仕事と自由なソフトウェア
Kouhei Sutou
 
Apache Arrowフォーマットはなぜ速いのか
Apache Arrowフォーマットはなぜ速いのかApache Arrowフォーマットはなぜ速いのか
Apache Arrowフォーマットはなぜ速いのか
Kouhei Sutou
 
Apache Arrow 1.0 - A cross-language development platform for in-memory data
Apache Arrow 1.0 - A cross-language development platform for in-memory dataApache Arrow 1.0 - A cross-language development platform for in-memory data
Apache Arrow 1.0 - A cross-language development platform for in-memory data
Kouhei Sutou
 
Apache Arrow 2019
Apache Arrow 2019Apache Arrow 2019
Apache Arrow 2019
Kouhei Sutou
 
Redmine検索の未来像
Redmine検索の未来像Redmine検索の未来像
Redmine検索の未来像
Kouhei Sutou
 
Apache Arrow - A cross-language development platform for in-memory data
Apache Arrow - A cross-language development platform for in-memory dataApache Arrow - A cross-language development platform for in-memory data
Apache Arrow - A cross-language development platform for in-memory data
Kouhei Sutou
 
Better CSV processing with Ruby 2.6
Better CSV processing with Ruby 2.6Better CSV processing with Ruby 2.6
Better CSV processing with Ruby 2.6
Kouhei Sutou
 
Apache Arrow
Apache ArrowApache Arrow
Apache Arrow
Kouhei Sutou
 
Apache Arrow - データ処理ツールの次世代プラットフォーム
Apache Arrow - データ処理ツールの次世代プラットフォームApache Arrow - データ処理ツールの次世代プラットフォーム
Apache Arrow - データ処理ツールの次世代プラットフォーム
Kouhei Sutou
 
Apache Arrow
Apache ArrowApache Arrow
Apache Arrow
Kouhei Sutou
 
MySQL 8.0でMroonga
MySQL 8.0でMroongaMySQL 8.0でMroonga
MySQL 8.0でMroonga
Kouhei Sutou
 
My way with Ruby
My way with RubyMy way with Ruby
My way with Ruby
Kouhei Sutou
 
Red Data Tools
Red Data ToolsRed Data Tools
Red Data Tools
Kouhei Sutou
 
Mroongaの高速全文検索機能でWordPress内のコンテンツを有効活用!
Mroongaの高速全文検索機能でWordPress内のコンテンツを有効活用!Mroongaの高速全文検索機能でWordPress内のコンテンツを有効活用!
Mroongaの高速全文検索機能でWordPress内のコンテンツを有効活用!
Kouhei Sutou
 
MariaDBとMroongaで作る全言語対応超高速全文検索システム
MariaDBとMroongaで作る全言語対応超高速全文検索システムMariaDBとMroongaで作る全言語対応超高速全文検索システム
MariaDBとMroongaで作る全言語対応超高速全文検索システム
Kouhei Sutou
 
PGroonga 2 – Make PostgreSQL rich full text search system backend!
PGroonga 2 – Make PostgreSQL rich full text search system backend!PGroonga 2 – Make PostgreSQL rich full text search system backend!
PGroonga 2 – Make PostgreSQL rich full text search system backend!
Kouhei Sutou
 
PGroonga 2 - PostgreSQLでの全文検索の決定版
PGroonga 2 - PostgreSQLでの全文検索の決定版PGroonga 2 - PostgreSQLでの全文検索の決定版
PGroonga 2 - PostgreSQLでの全文検索の決定版
Kouhei Sutou
 

More from Kouhei Sutou (20)

RubyKaigi 2022 - Fast data processing with Ruby and Apache Arrow
RubyKaigi 2022 - Fast data processing with Ruby and Apache ArrowRubyKaigi 2022 - Fast data processing with Ruby and Apache Arrow
RubyKaigi 2022 - Fast data processing with Ruby and Apache Arrow
 
Apache Arrow Flight – ビッグデータ用高速データ転送フレームワーク #dbts2021
Apache Arrow Flight – ビッグデータ用高速データ転送フレームワーク #dbts2021Apache Arrow Flight – ビッグデータ用高速データ転送フレームワーク #dbts2021
Apache Arrow Flight – ビッグデータ用高速データ転送フレームワーク #dbts2021
 
RubyKaigi Takeout 2021 - Red Arrow - Ruby and Apache Arrow
RubyKaigi Takeout 2021 - Red Arrow - Ruby and Apache ArrowRubyKaigi Takeout 2021 - Red Arrow - Ruby and Apache Arrow
RubyKaigi Takeout 2021 - Red Arrow - Ruby and Apache Arrow
 
Rubyと仕事と自由なソフトウェア
Rubyと仕事と自由なソフトウェアRubyと仕事と自由なソフトウェア
Rubyと仕事と自由なソフトウェア
 
Apache Arrowフォーマットはなぜ速いのか
Apache Arrowフォーマットはなぜ速いのかApache Arrowフォーマットはなぜ速いのか
Apache Arrowフォーマットはなぜ速いのか
 
Apache Arrow 1.0 - A cross-language development platform for in-memory data
Apache Arrow 1.0 - A cross-language development platform for in-memory dataApache Arrow 1.0 - A cross-language development platform for in-memory data
Apache Arrow 1.0 - A cross-language development platform for in-memory data
 
Apache Arrow 2019
Apache Arrow 2019Apache Arrow 2019
Apache Arrow 2019
 
Redmine検索の未来像
Redmine検索の未来像Redmine検索の未来像
Redmine検索の未来像
 
Apache Arrow - A cross-language development platform for in-memory data
Apache Arrow - A cross-language development platform for in-memory dataApache Arrow - A cross-language development platform for in-memory data
Apache Arrow - A cross-language development platform for in-memory data
 
Better CSV processing with Ruby 2.6
Better CSV processing with Ruby 2.6Better CSV processing with Ruby 2.6
Better CSV processing with Ruby 2.6
 
Apache Arrow
Apache ArrowApache Arrow
Apache Arrow
 
Apache Arrow - データ処理ツールの次世代プラットフォーム
Apache Arrow - データ処理ツールの次世代プラットフォームApache Arrow - データ処理ツールの次世代プラットフォーム
Apache Arrow - データ処理ツールの次世代プラットフォーム
 
Apache Arrow
Apache ArrowApache Arrow
Apache Arrow
 
MySQL 8.0でMroonga
MySQL 8.0でMroongaMySQL 8.0でMroonga
MySQL 8.0でMroonga
 
My way with Ruby
My way with RubyMy way with Ruby
My way with Ruby
 
Red Data Tools
Red Data ToolsRed Data Tools
Red Data Tools
 
Mroongaの高速全文検索機能でWordPress内のコンテンツを有効活用!
Mroongaの高速全文検索機能でWordPress内のコンテンツを有効活用!Mroongaの高速全文検索機能でWordPress内のコンテンツを有効活用!
Mroongaの高速全文検索機能でWordPress内のコンテンツを有効活用!
 
MariaDBとMroongaで作る全言語対応超高速全文検索システム
MariaDBとMroongaで作る全言語対応超高速全文検索システムMariaDBとMroongaで作る全言語対応超高速全文検索システム
MariaDBとMroongaで作る全言語対応超高速全文検索システム
 
PGroonga 2 – Make PostgreSQL rich full text search system backend!
PGroonga 2 – Make PostgreSQL rich full text search system backend!PGroonga 2 – Make PostgreSQL rich full text search system backend!
PGroonga 2 – Make PostgreSQL rich full text search system backend!
 
PGroonga 2 - PostgreSQLでの全文検索の決定版
PGroonga 2 - PostgreSQLでの全文検索の決定版PGroonga 2 - PostgreSQLでの全文検索の決定版
PGroonga 2 - PostgreSQLでの全文検索の決定版
 

Recently uploaded

TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
Matsushita Laboratory
 
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
Toru Tamaki
 
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
yassun7010
 
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdfFIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance
 
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
iPride Co., Ltd.
 
【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow
Sony - Neural Network Libraries
 
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
Fukuoka Institute of Technology
 
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdfFIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance
 
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdfFIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance
 
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
NTT DATA Technology & Innovation
 
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdfFIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance
 
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
harmonylab
 
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdfFIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance
 
CS集会#13_なるほどわからん通信技術 発表資料
CS集会#13_なるほどわからん通信技術 発表資料CS集会#13_なるほどわからん通信技術 発表資料
CS集会#13_なるほどわからん通信技術 発表資料
Yuuitirou528 default
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LBカタログ
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LBカタログLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LBカタログ
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LBカタログ
CRI Japan, Inc.
 

Recently uploaded (15)

TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
 
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
 
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
 
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdfFIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
 
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
 
【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow
 
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
 
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdfFIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
 
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdfFIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdf
 
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
 
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdfFIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
 
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
 
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdfFIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
 
CS集会#13_なるほどわからん通信技術 発表資料
CS集会#13_なるほどわからん通信技術 発表資料CS集会#13_なるほどわからん通信技術 発表資料
CS集会#13_なるほどわからん通信技術 発表資料
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LBカタログ
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LBカタログLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LBカタログ
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LBカタログ
 

いろいろ考えると日本語の全文検索もMySQLがいいね!