[前][次][番号順一覧][スレッド一覧]

mysql:15965

From: HAYASHI Kentaro <HAYASHI Kentaro <hayashi@xxxxxxxxxx>>
Date: Wed, 29 May 2013 12:18:06 +0900
Subject: [mysql 15965] [ANN] mroonga 3.04


林です。

今日は毎月恒例の肉の日ですね。

まずはじめに、利用事例の記事を書いてくれる人募集のお知らせです。

  これまでも、groonga.orgにて利用事例 http://groonga.org/ja/users/ を
  紹介してきましたが、それとは別に、http://gihyo.jp/にてgroonga関連の記事の連載を
  隔週連載groongaとしてはじめました。
  まだgroongaを知らない人にもWebの連載記事を通じて知ってもらいたいというのが動機です。
  現在第4回まで公開しています。

    http://gihyo.jp/dev/clip/01/groonga

    * 第1回 全文検索エンジンgroongaを紹介します!
      http://gihyo.jp/dev/clip/01/groonga/0001
    * 第2回 groongaをRuby On Railsでも使ってみた 〜chikamap.comの事例から
      http://gihyo.jp/dev/clip/01/groonga/0002
    * 第3回 すべてのMySQLユーザに高速な全文検索機能を! - mroongaの紹介
      http://gihyo.jp/dev/clip/01/groonga/0003
    * 第4回 rroongaを使ったソースコード検索エンジンMilkode
      http://gihyo.jp/dev/clip/01/groonga/0004

  利用事例がつきたら終了なので、実際に使っているユーザーのみなさんに
  利用事例を書いてもらえたらいいなぁと思っています!
  詳細は「groonga普及のための協力のお願い」を参照してください。

    http://sourceforge.jp/projects/groonga/lists/archive/dev/2013-February/001186.html

それとは別に、毎週木曜にQiitaでのgroonga関連(もちろんmroongaも!)の情報提供も続けているので、
参考にしてみてください。

  http://qiita.com/users/groonga


mroonga 3.04をリリースしました。
  http://mroonga.org/ja/docs/news.html#release-3-04

mroongaはMySQL 5.1/5.5/5.6、MariaDB 5.3/5.5/5.6で利用できる全文検
索・位置情報検索可能なストレージエンジンです。mroongaは
Tritonnの後継プロジェクトです。

ドキュメント:
  http://mroonga.org/ja/
インストールガイド:
  http://mroonga.org/ja/docs/install.html

mroongaでよくあるMySQLとのバージョン不一致で
うまくインストールできなかったんだけど、、、というトラブルも
リリース直後は遭遇しにくいので、この機会にmroongaを試してみるのは
いかがでしょうか。

みなさんからのフィードバックをお待ちしています!

1.20より前のバージョンからアップグレードする場合は以下にある
手順を使ってください。
  http://mroonga.org/ja/docs/news.html#release-1-20

1.20からアップグレードする場合は以下にある手順を使ってくださ
い。
  http://mroonga.org/ja/docs/news.html#release-2-00

2.00か2.01からアップグレードする場合は、以下の手順でパッケージ
署名用の新しい鍵をインポートしてください。

  http://mroonga.org/ja/docs/news.html#release-2-02

2.00以降でストレージモードにてマルチカラムインデックスを
使っている場合は以下の手順でインデックスを作り直して
ください。

  http://mroonga.org/ja/docs/news.html#release-2-03

2.04以降でストレージモードにてSETカラムもしくは要素数が256より
少ないENUMを使用している場合は、以下の手順でデータベースを
再作成してください。

  http://mroonga.org/ja/docs/news.html#release-2-05

2.05以降でマルチカラムインデックスをVARCHARやCHAR型に対して使っている
場合は、以下の手順でインデックスを再作成してください。

  http://mroonga.org/ja/docs/news.html#release-2-08

2.08以降でTIMESTAMP型のカラムを使っているテーブルがあれば、
データベースを再作成してください。
CHAR(N)を主キーとしているテーブルがあれば、インデックスを再作成してく
ださい。

  http://mroonga.org/ja/docs/news.html#release-2-09

今回のリリースの主なトピックは以下の通りです。

  * Wプラグマのサポート
  * Debian 8.0 (jessie) のサポート

○ Wプラグマのサポート

今回のリリースではTritonnのWプラグマをサポートしました。

  http://qwik.jp/senna/query.html

クエリの冒頭に以下の書式で対象となるセクションと重みづけ指定を
行うことができます。

  *W[数値[:重み][,数値[:重み]]...

Wプラグマの使い方を説明します。まずはサンプルのスキーマです。

  CREATE TABLE diaries (
    id INT PRIMARY KEY,
    title VARCHAR(255),
    content TEXT,
    FULLTEXT INDEX (title, content)
  ) ENGINE=mroonga DEFAULT CHARSET=utf8;

これに以下のサンプルデータを投入します。
  
  INSERT INTO diaries VALUES(1, "Hello", "今日からはじめました。");
  INSERT INTO diaries VALUES(2, "天気", "明日の富士山の天気について");
  INSERT INTO diaries VALUES(3, "富士山", "今日も天気がよくてきれいに見える。");

サンプルデータに対し、Wプラグマを用いてこのサンプルから"天気"を検索してみましょう。

diariesテーブルにはtitle,contentカラムがありますが、
contentカラムよりもtitleカラムをより重視したいとします。
titleカラムに重み10を、contentカラムに重み2を与えることにします。
Wプラグマに与える数値とカラムは以下のようになります。

  0 -> titleカラム
  1 -> contentカラム

上記を踏まえたクエリは以下の通りです。

  SELECT *, MATCH(title, content)
          AGAINST("*W0:10,1:2 +天気" in BOOLEAN MODE) AS score
       FROM diaries
       WHERE MATCH(title, content)
             AGAINST("*W0:10,1:2 +天気" in BOOLEAN MODE);

結果は以下のようになります。

  id	title	content	score
  2	天気	明日の富士山の天気について	12
  3	富士山	今日も天気がよくてきれいに見える。	2

Wプラグマにより重み付けできていることがわかります。

○ Debian 8.0 (jessie) のサポート

今回のリリースでは、Debian 8.0 (jessie) のサポートを追加しました。

Debian 7.0 (wheezy)が安定板としてリリースされたことに伴い、
新たにDebian 8.0 (jessie)のサポートを始めました。

jessie(testing)環境でも再びmroongaが使えるようになりました。

これまでの安定版であるDebian 6.0 (squeeze)はold stable扱いとなりますので、
いましばらくはサポートを続ける予定ですがお早めのwheezyへの移行をお勧めします。

いつsqueezeのサポートを切るかについては、別途検討の上でアナウンスします。

jessieでのインストール手順はドキュメントを参照してください。

  http://mroonga.org/ja/docs/install.html#debian-gnu-linux-jessie


○ 変更点

3.03からの変更点は以下の通りです。
  http://mroonga.org/ja/docs/news.html#release-3-04

改良
^^^^

  * MariaDB 10.0.2のサポートを改善しました。 [#1729]
  * [doc] サポートしているSQLコマンドのリストを更新しました。 [Y.Kentaroさんが報告]
  * Ubuntu 11.10 (Oneiric Ocelot)のサポートをやめました。
  * MariaDBパッケージへのmroonga組み込みをサポートしました。 [#1691]
  * [ラッパーモード] カラムコメントをパースするのをやめました。 [Y.Kentaroさんが報告]
  * 通常のカラムコメントのバリデーションをしないようにしました。 [Y.Kentaroさんが報告]
  * libmysqlservices.aを含むディレクトリの検出方法を改善しました。
    [Y.Kentaroさんが報告]
  * テーブル/インデックスコメントをフリースタイルで書けるように改善しました。
    [Y.Kentaroさんが提案]
  * "W"プラグマをサポートしました。この機能は Tritonn に由来します。
  * データベースを指定することなく mroonga_command() を使えるようにしました。
    [Y.Kentaroさんが報告]
  * auto_increment の値をテーブルを作るときにも参照するように改善しました。 [#1741]
  * auto_increment の値を直近のレコードが削除されてもそのまま保持するように改善しました。 [#1738]
  * [doc] Windowsでのmroongaのインストール手順を追加しました。

修正
^^^^

  * 空の検索クエリがSEGVを引き起す不具合を修正しました。
    [groonga-dev,01346][中井さんが報告]
  * ディレクトリの存在に依存したパッケージのビルドエラーを修正しました。 
    [groonga-dev,01335] [WINGさんが報告] [yoku tsさんがパッチ提供]
  * groonga-normalizer-mysql パッケージへのビルド時の依存関係の抜けを修正しました。
    [Y.Kentaroさんがパッチ提供]
  * my.cnfの Mroonga_log_level の値が設定されない不具合を修正しました。
    [groonga-dev,01379] [磯部和広さんが報告]
  * デフォルトのトークナイザーが正しく開放されずメモリリークする不具合を修正しました。
  * [ラッパーモード] ストレージエンジン名なしでALTER TABLEによりコメントを変更すると
    テーブルが消失する不具合を修正しました。 [Y.Kentaroさんが報告]

感謝
^^^^

  * Y.Kentaroさん
  * 中井さん
  * WINGさん
  * yoku tsさん
  * 磯部和広さん



-- 
HAYASHI Kentaro <hayashi@xxxxxxxxxx>

[前][次][番号順一覧][スレッド一覧]