[groonga-dev,00849] CentOS6.2のmroonga2.02で、テーブル作成時にトークナイザー指定が出来ない

Back to archive index

磯部 和広 k-iso****@rozet*****
2012年 5月 14日 (月) 13:06:52 JST


いつもお世話になっております。

CentOS5.7のmroonga2.02では出来た、
トークナイザーのテーブル作成時の指定が
CentOS6.2では、下記のように出来ませんでした。

環境は下記です。

[k-isobe @ PMJ-MySQL1 ~]$ cat /etc/redhat-release
CentOS release 6.2 (Final)
[k-isobe @ PMJ-MySQL1 ~]$ rpm -qa | grep -i mysql
perl-DBD-MySQL-4.013-3.el6.x86_64
mysql-server-5.1.61-1.el6_2.1.x86_64
mysql-libs-5.1.61-1.el6_2.1.x86_64
mysql-5.1.61-1.el6_2.1.x86_64
mysql-mroonga-2.02-0.el6.x86_64
[k-isobe @ PMJ-MySQL1 ~]$

トークナイザーを指定しなければ、テーブルが作成できます。

[k-isobe @ PMJ-MySQL1 ~]$ mysql -u root test
<中略>
mysql> CREATE TABLE `test_data` (
-> `english` text NOT NULL,
-> `japanese` text NOT NULL,
-> `japanese_splitted` text NOT NULL,
-> FULLTEXT KEY `english` (`english`) COMMENT 'parser "TokenDelimit"',
-> FULLTEXT KEY `japanese_splitted` (`japanese_splitted`) COMMENT 'parser
'> "TokenDelimit"'
-> ) ENGINE=mroonga DEFAULT CHARSET=utf8;
ERROR 1064 (42000): You have an error in your SQL syntax; check the
manual that corresponds to your MySQL server version for the right
syntax to use near 'COMMENT 'parser "TokenDelimit"',
FULLTEXT KEY `japanese_splitted` (`japanese_spl' at line 5
mysql> CREATE TABLE `test_data` ( `english` text NOT NULL, `japanese`
text NOT NULL, `japanese_splitted` text NOT NULL, FULLTEXT KEY `english`
(`english`) , FULLTEXT KEY `japanese_splitted` (`japanese_splitted`) )
ENGINE=mroonga DEFAULT CHARSET=utf8;
Query OK, 0 rows affected, 2 warnings (0.48 sec)

mysql> exit
Bye
[k-isobe @ PMJ-MySQL1 ~]$

同じCreateTable文で、CentOS5.7では作成できます。
※このcreate文は、mysqldumpで吐かせたものなので当たり前ですが・・・

[k-isobe @ PMJ-MySQL1 ~]$ mysql -u root test -h PMJ-DB1
<中略>
mysql> CREATE TABLE `test_data` (
-> `english` text NOT NULL,
-> `japanese` text NOT NULL,
-> `japanese_splitted` text NOT NULL,
-> FULLTEXT KEY `english` (`english`) COMMENT 'parser "TokenDelimit"',
-> FULLTEXT KEY `japanese_splitted` (`japanese_splitted`) COMMENT 'parser
'> "TokenDelimit"'
-> ) ENGINE=mroonga DEFAULT CHARSET=utf8;
Query OK, 0 rows affected (0.02 sec)

mysql> exit
Bye
[k-isobe @ PMJ-MySQL1 ~]$

尚、下記のように、my.confでトークナイザーを指定することは出来るようです。

[k-isobe @ PMJ-MySQL1 ~]$ grep mroonga_default_parser /etc/my.cnf
mroonga_default_parser=TokenDelimit
[k-isobe @ PMJ-MySQL1 ~]$

[k-isobe @ PMJ-MySQL1 ~]$ echo "truncate table test_data;INSERT INTO
test_data VALUES ('inflammable liquid','引 火性液体','引火性 液体'),
('infla mmable liquid','ダミー','ダミー');select 'infla', count(1) from
test_data where match(english) against('infla');" | mysql -u root test -N
infla 1
[k-isobe @ PMJ-MySQL1 ~]$




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