[groonga-dev,00726] SELECT COUNT(*)時に数値が取れない

Back to archive index

河野 隆志 takas****@gmo-m*****
2012年 3月 27日 (火) 13:19:34 JST


河野と申します。

mroonga 2.0にてバグ?っぽい挙動を見つけたので報告します。

SELECT COUNT(*) FROM table WHERE MATCH(column) AGAINST('+D keyword')
とした場合、正しく数値が取得できません。

SELECT COUNT(column) FROM table WHERE MATCH(column) AGAINST('+D keyword')
とすると数値が取得できます。

> root @ localhost:test_db>SELECT COUNT(*) AS count FROM table WHERE MATCH (text) AGAINST ('*D+ keyword' IN BOOLEAN MODE);
> +-------+
> | count |
> +-------+
> |     0 |
> +-------+
> 1 row in set (0.16 sec)
> 
> root @ localhost:test_db>SELECT COUNT(text) AS count FROM table WHERE MATCH (text) AGAINST ('*D+ keyword' IN BOOLEAN MODE);
> +--------+
> | count  |
> +--------+
> | 383961 |
> +--------+
> 1 row in set (0.80 sec)
> 
> root @ localhost:test_db>SELECT COUNT(*) AS count FROM table WHERE MATCH (text) AGAINST ('*D+ keyword' IN BOOLEAN MODE);
> +-------+
> | count |
> +-------+
> |     0 |
> +-------+
> 1 row in set (0.18 sec)

テーブル定義は以下
> CREATE TABLE `search_texts` (
>   `id` bigint(20) NOT NULL,
>   `text` text,
>   `cdate` datetime NOT NULL,
>   `mdate` datetime NOT NULL,
>   PRIMARY KEY (`id`),
>   KEY `idx_search_texts` (`cdate`),
>   FULLTEXT KEY `fu_search_texts` (`text`)
> ) ENGINE=mroonga DEFAULT CHARSET=utf8

システムは
CentOS5.7
MySQL 5.5.21
mroonga-2.01
gronga-2.0.0


以上、宜しくお願い致します。
-- 
河野 隆志 <takas****@gmo-m*****>




groonga-dev メーリングリストの案内
Back to archive index