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

mysql:16423

From: Kentaro Hayashi <Kentaro Hayashi <hayashi@xxxxxxxxxx>>
Date: Tue, 29 Aug 2017 17:31:13 +0900
Subject: [mysql 16423] [ANN] Mroonga 7.06 - MySQLで高速日本語全文検索

こんにちは、Mroongaプロジェクトの林です。

Mroonga 7.06をリリースしました!

  http://mroonga.org/ja/blog/2017/08/29/mroonga-7.06.html

7.05からの変更点:
  http://mroonga.org/ja/docs/news.html#release-7-06

MroongaはMySQLで日本語全文検索を実現するストレージエンジンです。高速で
あることや位置情報検索をサポートしていることなどが特徴です。詳細が気に
なる方はドキュメントをご覧ください。

  * Mroongaの特徴 ― Mroonga v7.06 documentation
    http://mroonga.org/ja/docs/characteristic.html#what-is-mroonga


さて、今月の主な変更点は次のとおりです。

  * 生成カラム(Generated Column)のサポート

### 生成カラム(Generated Column)のサポート

今回のリリースでは、生成カラム(Generated Column)をMroongaでもサポート
しました。 これは他のカラムの値を自動計算した結果を取り出すことのでき
るカラムを定義できる機能です。

たとえば、次のような定義でJSONの一部を取り出した結果を使って検索するこ
とができるようになります。

    CREATE TABLE logs (
      id INT,
      record JSON,
      message VARCHAR(255) GENERATED ALWAYS AS (json_extract(`record`, '$.message')) STORED,
      FULLTEXT INDEX(message) comment 'tokenizer "TokenBigramSplitSymbolAlphaDigit"'
    ) ENGINE=Mroonga DEFAULT CHARSET=utf8mb4;


上記の例だと、record の値の一部を message カラムの内容として定義してい
ます。 すると、次のようなクエリでJSONの一部だけを全文検索することがで
きます。

    > SELECT * FROM logs WHERE MATCH(message) AGAINST("ar" IN BOOLEAN MODE);
    +------+-----------------------------------------+-----------+
    | id   | record                                  | message   |
    +------+-----------------------------------------+-----------+
    |    1 | {"level": "info", "message": "start"}   | "start"   |
    |    2 | {"level": "info", "message": "restart"} | "restart" |
    +------+-----------------------------------------+-----------+
    2 rows in set (0.02 sec)

実データを持たない VIRTUAL も定義できます。

    CREATE TABLE logs (
      id INT,
      record JSON,
      message VARCHAR(255) GENERATED ALWAYS AS (json_extract(`record`, '$.message')) VIRTUAL
    ) ENGINE=Mroonga DEFAULT CHARSET=utf8mb4;

ただし、この場合、FULLTEXT INDEX(message) を張ることはできません。


--
Kentaro Hayashi <hayashi@xxxxxxxxxx>


添付ファイル

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