SlideShare une entreprise Scribd logo
1  sur  88
Télécharger pour lire hors ligne
いろいろ考えると 
日本語の全文検索も 
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

Contenu connexe

Tendances

雑なMySQLパフォーマンスチューニング
雑なMySQLパフォーマンスチューニング雑なMySQLパフォーマンスチューニング
雑なMySQLパフォーマンスチューニングyoku0825
 
MySQL 5.7にやられないためにおぼえておいてほしいこと
MySQL 5.7にやられないためにおぼえておいてほしいことMySQL 5.7にやられないためにおぼえておいてほしいこと
MySQL 5.7にやられないためにおぼえておいてほしいことyoku0825
 
ElasticSearch+Kibanaでログデータの検索と視覚化を実現するテクニックと運用ノウハウ
ElasticSearch+Kibanaでログデータの検索と視覚化を実現するテクニックと運用ノウハウElasticSearch+Kibanaでログデータの検索と視覚化を実現するテクニックと運用ノウハウ
ElasticSearch+Kibanaでログデータの検索と視覚化を実現するテクニックと運用ノウハウKentaro Yoshida
 
Scala の関数型プログラミングを支える技術
Scala の関数型プログラミングを支える技術Scala の関数型プログラミングを支える技術
Scala の関数型プログラミングを支える技術Naoki Aoyama
 
やってはいけない空振りDelete
やってはいけない空振りDeleteやってはいけない空振りDelete
やってはいけない空振りDeleteYu Yamada
 
強いて言えば「集約どう実装するのかな、を考える」な話
強いて言えば「集約どう実装するのかな、を考える」な話強いて言えば「集約どう実装するのかな、を考える」な話
強いて言えば「集約どう実装するのかな、を考える」な話Yoshitaka Kawashima
 
MHA for MySQLとDeNAのオープンソースの話
MHA for MySQLとDeNAのオープンソースの話MHA for MySQLとDeNAのオープンソースの話
MHA for MySQLとDeNAのオープンソースの話Yoshinori Matsunobu
 
なかったらINSERTしたいし、あるならロック取りたいやん?
なかったらINSERTしたいし、あるならロック取りたいやん?なかったらINSERTしたいし、あるならロック取りたいやん?
なかったらINSERTしたいし、あるならロック取りたいやん?ichirin2501
 
外部キー制約に伴うロックの小話
外部キー制約に伴うロックの小話外部キー制約に伴うロックの小話
外部キー制約に伴うロックの小話ichirin2501
 
今さらだけどMySQLとライセンス
今さらだけどMySQLとライセンス今さらだけどMySQLとライセンス
今さらだけどMySQLとライセンスHidenori Ishii
 
ソーシャルゲーム案件におけるDB分割のPHP実装
ソーシャルゲーム案件におけるDB分割のPHP実装ソーシャルゲーム案件におけるDB分割のPHP実装
ソーシャルゲーム案件におけるDB分割のPHP実装infinite_loop
 
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)Takuto Wada
 
PostgreSQL運用管理入門
PostgreSQL運用管理入門PostgreSQL運用管理入門
PostgreSQL運用管理入門Yoshiyuki Asaba
 
SQLアンチパターン - ナイーブツリー
SQLアンチパターン - ナイーブツリーSQLアンチパターン - ナイーブツリー
SQLアンチパターン - ナイーブツリーke-m kamekoopa
 
MySQLと組み合わせて始める全文検索プロダクト"elasticsearch"
MySQLと組み合わせて始める全文検索プロダクト"elasticsearch"MySQLと組み合わせて始める全文検索プロダクト"elasticsearch"
MySQLと組み合わせて始める全文検索プロダクト"elasticsearch"Kentaro Yoshida
 
Innodb Deep Talk #2 でお話したスライド
Innodb Deep Talk #2 でお話したスライドInnodb Deep Talk #2 でお話したスライド
Innodb Deep Talk #2 でお話したスライドYasufumi Kinoshita
 
PostgreSQLとPGroongaで作るPHPマニュアル高速全文検索システム
PostgreSQLとPGroongaで作るPHPマニュアル高速全文検索システムPostgreSQLとPGroongaで作るPHPマニュアル高速全文検索システム
PostgreSQLとPGroongaで作るPHPマニュアル高速全文検索システムKouhei Sutou
 
Redisの特徴と活用方法について
Redisの特徴と活用方法についてRedisの特徴と活用方法について
Redisの特徴と活用方法についてYuji Otani
 
Sidekiq Proを1年ほど使ってみて良かったところ、困ったところ | 新宿.rb 29th #shinjukurb
Sidekiq Proを1年ほど使ってみて良かったところ、困ったところ | 新宿.rb 29th #shinjukurbSidekiq Proを1年ほど使ってみて良かったところ、困ったところ | 新宿.rb 29th #shinjukurb
Sidekiq Proを1年ほど使ってみて良かったところ、困ったところ | 新宿.rb 29th #shinjukurbKoichiro Sumi
 

Tendances (20)

雑なMySQLパフォーマンスチューニング
雑なMySQLパフォーマンスチューニング雑なMySQLパフォーマンスチューニング
雑なMySQLパフォーマンスチューニング
 
MySQL 5.7にやられないためにおぼえておいてほしいこと
MySQL 5.7にやられないためにおぼえておいてほしいことMySQL 5.7にやられないためにおぼえておいてほしいこと
MySQL 5.7にやられないためにおぼえておいてほしいこと
 
ElasticSearch+Kibanaでログデータの検索と視覚化を実現するテクニックと運用ノウハウ
ElasticSearch+Kibanaでログデータの検索と視覚化を実現するテクニックと運用ノウハウElasticSearch+Kibanaでログデータの検索と視覚化を実現するテクニックと運用ノウハウ
ElasticSearch+Kibanaでログデータの検索と視覚化を実現するテクニックと運用ノウハウ
 
Scala の関数型プログラミングを支える技術
Scala の関数型プログラミングを支える技術Scala の関数型プログラミングを支える技術
Scala の関数型プログラミングを支える技術
 
やってはいけない空振りDelete
やってはいけない空振りDeleteやってはいけない空振りDelete
やってはいけない空振りDelete
 
強いて言えば「集約どう実装するのかな、を考える」な話
強いて言えば「集約どう実装するのかな、を考える」な話強いて言えば「集約どう実装するのかな、を考える」な話
強いて言えば「集約どう実装するのかな、を考える」な話
 
MHA for MySQLとDeNAのオープンソースの話
MHA for MySQLとDeNAのオープンソースの話MHA for MySQLとDeNAのオープンソースの話
MHA for MySQLとDeNAのオープンソースの話
 
なかったらINSERTしたいし、あるならロック取りたいやん?
なかったらINSERTしたいし、あるならロック取りたいやん?なかったらINSERTしたいし、あるならロック取りたいやん?
なかったらINSERTしたいし、あるならロック取りたいやん?
 
外部キー制約に伴うロックの小話
外部キー制約に伴うロックの小話外部キー制約に伴うロックの小話
外部キー制約に伴うロックの小話
 
今さらだけどMySQLとライセンス
今さらだけどMySQLとライセンス今さらだけどMySQLとライセンス
今さらだけどMySQLとライセンス
 
ソーシャルゲーム案件におけるDB分割のPHP実装
ソーシャルゲーム案件におけるDB分割のPHP実装ソーシャルゲーム案件におけるDB分割のPHP実装
ソーシャルゲーム案件におけるDB分割のPHP実装
 
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
 
PostgreSQL: XID周回問題に潜む別の問題
PostgreSQL: XID周回問題に潜む別の問題PostgreSQL: XID周回問題に潜む別の問題
PostgreSQL: XID周回問題に潜む別の問題
 
PostgreSQL運用管理入門
PostgreSQL運用管理入門PostgreSQL運用管理入門
PostgreSQL運用管理入門
 
SQLアンチパターン - ナイーブツリー
SQLアンチパターン - ナイーブツリーSQLアンチパターン - ナイーブツリー
SQLアンチパターン - ナイーブツリー
 
MySQLと組み合わせて始める全文検索プロダクト"elasticsearch"
MySQLと組み合わせて始める全文検索プロダクト"elasticsearch"MySQLと組み合わせて始める全文検索プロダクト"elasticsearch"
MySQLと組み合わせて始める全文検索プロダクト"elasticsearch"
 
Innodb Deep Talk #2 でお話したスライド
Innodb Deep Talk #2 でお話したスライドInnodb Deep Talk #2 でお話したスライド
Innodb Deep Talk #2 でお話したスライド
 
PostgreSQLとPGroongaで作るPHPマニュアル高速全文検索システム
PostgreSQLとPGroongaで作るPHPマニュアル高速全文検索システムPostgreSQLとPGroongaで作るPHPマニュアル高速全文検索システム
PostgreSQLとPGroongaで作るPHPマニュアル高速全文検索システム
 
Redisの特徴と活用方法について
Redisの特徴と活用方法についてRedisの特徴と活用方法について
Redisの特徴と活用方法について
 
Sidekiq Proを1年ほど使ってみて良かったところ、困ったところ | 新宿.rb 29th #shinjukurb
Sidekiq Proを1年ほど使ってみて良かったところ、困ったところ | 新宿.rb 29th #shinjukurbSidekiq Proを1年ほど使ってみて良かったところ、困ったところ | 新宿.rb 29th #shinjukurb
Sidekiq Proを1年ほど使ってみて良かったところ、困ったところ | 新宿.rb 29th #shinjukurb
 

En vedette

MySQL 5.7 InnoDB 日本語全文検索
MySQL 5.7 InnoDB 日本語全文検索MySQL 5.7 InnoDB 日本語全文検索
MySQL 5.7 InnoDB 日本語全文検索yoyamasaki
 
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”を試してみました!宗 大栗
 
20160929 inno db_fts_jp
20160929 inno db_fts_jp20160929 inno db_fts_jp
20160929 inno db_fts_jpyoyamasaki
 
Mroonga最新情報2016
Mroonga最新情報2016Mroonga最新情報2016
Mroonga最新情報2016Kouhei 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プラットフォームに標準搭載している話 #groongaYahoo!デベロッパーネットワーク
 
MySQL対応全文検索システムMroonga(むるんが)
MySQL対応全文検索システムMroonga(むるんが)MySQL対応全文検索システムMroonga(むるんが)
MySQL対応全文検索システムMroonga(むるんが)Hideshi Ogoshi
 
Mysql+Mroongaで全文検索
Mysql+Mroongaで全文検索Mysql+Mroongaで全文検索
Mysql+Mroongaで全文検索yoyamasaki
 
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 BeginnersKazuhiro Sera
 
自分をチューニングするために今年やってみたこと
自分をチューニングするために今年やってみたこと自分をチューニングするために今年やってみたこと
自分をチューニングするために今年やってみたこと優之 田中
 

En vedette (20)

MySQL 5.7 InnoDB 日本語全文検索
MySQL 5.7 InnoDB 日本語全文検索MySQL 5.7 InnoDB 日本語全文検索
MySQL 5.7 InnoDB 日本語全文検索
 
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
 
自分をチューニングするために今年やってみたこと
自分をチューニングするために今年やってみたこと自分をチューニングするために今年やってみたこと
自分をチューニングするために今年やってみたこと
 

Similaire à いろいろ考えると日本語の全文検索も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使いのエンジニアから見たMySQLtoshihiro_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
 
オープンソースRDBMS新機能ランダウンOSC2017TokyoSpring
オープンソースRDBMS新機能ランダウンOSC2017TokyoSpringオープンソースRDBMS新機能ランダウンOSC2017TokyoSpring
オープンソースRDBMS新機能ランダウンOSC2017TokyoSpringMeiji 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.0Ryusuke Kajiyama
 

Similaire à いろいろ考えると日本語の全文検索も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
 
文字化け
文字化け文字化け
文字化け
 

Plus de 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 ArrowKouhei Sutou
 
Apache Arrow Flight – ビッグデータ用高速データ転送フレームワーク #dbts2021
Apache Arrow Flight – ビッグデータ用高速データ転送フレームワーク #dbts2021Apache Arrow Flight – ビッグデータ用高速データ転送フレームワーク #dbts2021
Apache Arrow Flight – ビッグデータ用高速データ転送フレームワーク #dbts2021Kouhei 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 ArrowKouhei 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 dataKouhei 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 dataKouhei 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.6Kouhei Sutou
 
Apache Arrow - データ処理ツールの次世代プラットフォーム
Apache Arrow - データ処理ツールの次世代プラットフォームApache Arrow - データ処理ツールの次世代プラットフォーム
Apache Arrow - データ処理ツールの次世代プラットフォームKouhei Sutou
 
MySQL 8.0でMroonga
MySQL 8.0でMroongaMySQL 8.0でMroonga
MySQL 8.0でMroongaKouhei 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
 

Plus de 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での全文検索の決定版
 

Dernier

業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案sugiuralab
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 

Dernier (8)

業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 

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