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

mysql:16681

From: Horimoto Yasuhiro <Horimoto Yasuhiro <horimoto@xxxxxxxxxx>>
Date: Tue, 30 Nov 2021 13:49:45 +0900 (JST)
Subject: [mysql 16681] [ANN] Mroonga 11.10

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

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

リリースアナウンス:
   https://mroonga.org/ja/blog/2021/11/29/mroonga-11.10.html

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

  * Mroongaの特徴 ― Mroonga v11.10 documentation
    https://mroonga.org/ja/docs/characteristic.html#what-is-mroonga

変更点:
   https://mroonga.org/ja/docs/news.html#release-11.10

### 改良

* [AlmaLinux] AlmaLinux 8 をサポートしました。

  * [AlmaLinux] MySQL 8.0.27をサポートしました。

    * MySQL 8.0 のパッケージには以下の制限があります。

      * [ラッパーモード] ラッパーモードは未対応です。
      * [ストレージモード] ストレージモードでは、以下の機能が未対応です。

        * 最適化関連の機能

  * [AlmaLinux] Percona Server 8.0.26をサポートしました。

  * [AlmaLinux] MariaDB 10.3.32、10.4.22、10.5.13、10.6.5をサポートしました。

* [CentOS] MariaDB 10.2.41、10.3.32、10.4.22、10.5.13、10.6.5をサポートしました。

* [Ubuntu] Ubuntu 21.04 (Hirsute Hippo) と 21.10 (Impish Indri) の MySQL 8.0 をサポートしました。

  * MySQL 8.0 のパッケージには以下の制限があります。

    * [ラッパーモード] ラッパーモードは未対応です。
    * [ストレージモード] ストレージモードでは、以下の機能が未対応です。

      * 最適化関連の機能

### 修正

* [CentOS] MariaDB 10.6向けMroongaを提供していなかった問題を修正しました。

* [最適化] Mroongaが行カウントの最適化を誤って適用する問題を修正しました。

  通常、Mroongaは、 SELECT が COUNT(*) だけを取得し、 WHERE の条件がインデックスだけで処理できる時に、
  行カウントの最適化を適用します。

  しかし、以下のケースのように WHERE の条件がインデックスだけで処理できない場合でも、Mroongaは、行カウントの最適化を適用していました。
  結果として、 SELECT COUNT(*) WHERE ... の結果が間違っていました。

    CREATE TABLE roles (
      id INT
    );

    INSERT INTO roles VALUES (1), (2), (3), (4), (5);

    CREATE TABLE users (
      id INT,
      role_id INT,
      INDEX (role_id)
    );

    INSERT INTO users VALUES (10, 1);
    INSERT INTO users VALUES (11, 2);
    INSERT INTO users VALUES (13, 3);
    INSERT INTO users VALUES (14, 4);
    INSERT INTO users VALUES (15, 5);
    INSERT INTO users VALUES (20, 1);
    INSERT INTO users VALUES (21, 2);
    INSERT INTO users VALUES (23, 3);
    INSERT INTO users VALUES (24, 4);
    INSERT INTO users VALUES (25, 5);

    SELECT COUNT(*)
      FROM (
        SELECT roles.id
          FROM roles
               LEFT JOIN users ON users.id <= 100 AND
                                  users.role_id = roles.id
      ) roles_users;

* Mroongaが 'STRING_FIELD =' のコンディションプッシュダウンで適切なエンコーディングを設定しない問題を修正しました。

  以下ケースでは、 Mroongaが 'STRING_FIELD =' の条件をコンディションプッシュダウンしますが、
  この時、Mroongaは適切なエンコーディングを検索キーワードに設定しません。
  結果として、Mroongaは検索キーワードのノーマライズに失敗します。

    CREATE TABLE memos (
      id INT PRIMARY KEY,
      title TEXT,
      INDEX (title)
    ) ENGINE=Mroonga DEFAULT CHARSET=utf8mb4;

    INSERT INTO memos VALUES (1, 'Groonga');
    INSERT INTO memos VALUES (2, 'Mroonga');

    SELECT *
      FROM memos
      WHERE title = 'mroonga'
      ORDER BY id;


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