Mroonga 11.10リリース!
Mroonga 11.10 をリリースしました!
- インストール方法: インストール
- アップグレード方法: アップグレードガイド
変更点
今回の変更点は以下の通りです。
改良
-
AlmaLinux AlmaLinux 8 をサポートしました。
-
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 をサポートしました。
修正
-
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;
おわりに
それでは、Mroongaでガンガン検索してください!