河野 隆志
takas****@gmo-m*****
2012年 5月 1日 (火) 18:57:20 JST
河野です。
どういう組み合わせ、どういう文字なのか特定できていませんが、
実行結果がTritonnと違う、またそもそも実行できないという症状が
出ています。詳細は以下参照。
´と▽と`を一文字ずつ個別に検索してみるとmroonga、tritonn双方とも
同じ結果が返ってきますが、´▽`を並べると駄目なようです。
他にもそういう文字列があるのか、パターンとかもう少し調べてみますが、
まずはご報告までに。
テーブル情報
CREATE TABLE `hogehoge` (
`id` bigint(20) NOT NULL,
`text` text,
`cdate` datetime NOT NULL,
`mdate` datetime NOT NULL,
PRIMARY KEY (`id`),
KEY `index1` (`cdate`),
FULLTEXT KEY `full_text` (`text`)
) ENGINE=mroonga DEFAULT CHARSET=utf8
CREATE TABLE `hogehoge` (
`id` bigint(20) NOT NULL,
`text` text,
`cdate` datetime NOT NULL,
`mdate` datetime NOT NULL,
PRIMARY KEY (`id`),
KEY `index1` (`cdate`),
FULLTEXT KEY `full_text` USING NGRAM, NORMALIZE, 512 (`text`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8
問題のクエリ1
mroonga> SELECT count(*) FROM hogehoge WHERE MATCH (text) AGAINST ('*D+ ´▽`' IN BOOLEAN MODE);
+----------+
| count(*) |
+----------+
| 22 |
+----------+
1 row in set (0.00 sec)
tritonn> SELECT count(*) FROM hogehoge WHERE MATCH (text) AGAINST ('*D+ ´▽`' IN BOOLEAN MODE);
+----------+
| count(*) |
+----------+
| 1330 |
+----------+
1 row in set (0.00 sec)
問題のクエリ2
mroongal> SELECT * FROM hogehoge WHERE MATCH (text) AGAINST ('*D+ ´ ▽ `)' IN BOOLEAN MODE) ORDER BY cdate DESC LIMIT 1;
ERROR 1064 (42000): failed to parse fulltext search keyword: <*D+ ´ ▽ `)>: <Syntax error! (´ ▽ `))>
tritonnでは実行可能で、結果も返ってきます。
以上、宜しくお願い致します。
--
河野 隆志 <takas****@gmo-m*****>