2. Me •長野雅広 (Masahiro Nagano) •@kazeburo / github:kazeburo •Operations Engineer / Site Reliability •LINE corp. •ISUCON 2013,2014 連覇
あんま真面目に調べてないんですがメモ。 mysql> SELECT COUNT(*) FROM t1 WHERE MATCH(text_column) AGAINST('*D+ xxx' IN BOOLEAN MODE); +----------+ | COUNT(*) | +----------+ | 45402 | +----------+ 1 row in set (0.03 sec) MariaDB [d1]> SELECT COUNT(*) FROM t1 WHERE MATCH(text_column) AGAINST('*D+ xxx' IN BOOLEAN MODE); +----------+ | COUNT(*) | +----------+ | 45402 | +----------+ 1 row in set (0.06 sec) なんか倍くらい違う。 MariaD
前回は、全文検索Webサービスを作ったときにはまったことの第1回という記事を書きました。 今回は、Mroongaを使って全文検索Webサービスを作ったときにはまったことの第2回として、ラッパーモードからストレージモードに変えた理由について書きたいと思います。 なお、かなり長く、MySQL、Groongaについて前提知識がないと理解できない部分が多々含まれている可能性があります。 ラッパーモードとは 全文検索Mroongaストレージエンジンでは、全文検索するためにラッパーモードとストレージモードの2つのモードが用意されています。 (引用) ラッパーモードでは全文検索機能のみGroongaの機能を利用し、データストアはInnoDBなど既存のストレージエンジンを利用します。ラッパーモードを利用することにより、ストレージエンジンとして多くの利用実績のあるInnoDBに全文検索エンジンとして実績のあ
2013-12-29 Mroonga 3.11リリース Mroonga 3.11 をリリースしました! インストール/アップグレード方法 それぞれの環境毎のインストール方法: インストール 以前のバージョンからアップグレードする場合には、アップグレード手順に注意が必要です。現在お使いのバージョンごとの アップグレード手順 を参照してください。 今回のリリースの主なトピックは以下の通りです。 INT、DATETIME、TIME型とのORDER BY最適化のサポート Fedora 20のサポート Debian 6.0(squeeze)とUbuntu 10.04(lucid)のサポート終了 INT、DATETIME、TIME型とのORDER BY最適化のサポート FULLTEXTインデックスが有効なカラムとそうでないカラムによる絞りこみをしようとしたときに、全文検索結果が多いと遅いという問題があ
is a totally awesome idea still being worked on. Check back later.
MySQLにおけるインデックスの制限 MySQLでは、1つのクエリにつき1つのインデックスしか利用できないという制限がある。これを回避するために、MySQLでは、一般的に複合インデックスが用いられる。 しかしながら、全文検索を行う場合、フルテキストインデックスが優先して使われるため、その他のインデックスを用いて、高速にソートやカウント、絞込みができないという問題がある。 mysql> SELECT COUNT(*) FROM ftext WHERE MATCH(title,abstract,description) AGAINST("+装置" IN BOOLEAN MODE) AND kind LIKE "U%"; +----------+ | COUNT(*) | +----------+ | 174752 | +----------+ 1 row in set (2.98 sec) m
storageモードだとデータ型の扱いがMySQLでのそれと違い困っている。 そうだ、wrapperモードにしよう、と思い立った方向けの記事です。 StorageモードからWrapperモードに変換する InnoDBのWrapperモードへ変更する場合はこうします。 ALTER TABLE foo_table ENGINE=mroonga COMMENT='engine "innodb"'; ダブルクォートの中は大文字小文字の指定はありませんので、以下のように記述しても動きます。 ALTER TABLE foo_table ENGINE=mroonga COMMENT='engine "InnoDB"'; そして、InnoDB以外にも、任意のストレージエンジンを選択することも出来ます。 MyISAMなどのトランザクションに対応していないストレージエンジンでも動きます。 ALTER TABL
CentOS-6.xの環境に MySQL-5.6.12 と フルテキスト検索ストレージエンジンであるmroongaの最新版を入れる方法を紹介します。 以下それぞれ、ステップを追って紹介します。 オラクル公式の MySQL-5.6 バイナリを yum (rpm)で入れる MySQL-5.6.12 対応の mroonga-3.05 を yum (rpm)で入れる 更新履歴 2013/10/23 補足トピック"最新のMySQLおよびmroongaでのビルド方法"を追加しました 2013/06/29 mysql-mroonga-3.05リリースに合わせてリポジトリと記事の更新をしました 2013/05/29 mysql-mroonga-3.04リリースに合わせてリポジトリと記事の更新をしました 最新のMySQLおよびmroongaでのビルド方法 RPMパッケージのビルド方法を解説した記事を、gih
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く