[Senna-dev 436] Re: senna0.8.2+MySQL5.0.24+phpでの2ind-patchの挙動

Back to archive index

Tasuku SUENAGA a****@razil*****
2007年 1月 3日 (水) 06:22:00 JST


末永です。

SHOW CREATE TABLEの結果を見ると、
indexer_registというカラムに対するインデックスの名前は、
index_indexer_registのようです。

よって、
SELECT * FROM indexer force index(indexer_regist)
 WHERE MATCH(indexer_description) AGAINST('海')
 ORDER BY `indexer_regist` LIMIT 1,10;
ではなく、
SELECT * FROM indexer force index(index_indexer_regist)
 WHERE MATCH(indexer_description) AGAINST('海')
 ORDER BY `indexer_regist` LIMIT 1,10;
というクエリを投げる必要があります。

yuji tomita wrote:
> お世話になっております。富田です。
> 
>> 1.PHPからmysql関数およびmysqli関数を使用して該当SQLを発行すると、前述
> のエラー発生。
>> 2.Perl/CGIからDBIを通して該当SQLを発行すると、前述のエラー発生。
>> 3.コマンドラインからmysqlにログインして実行した場合、正常動作。
>> 4.phpMyAdminで該当SQLを発行した場合、正常動作。
> 
>> クライアントによって挙動が違う場合として、
>> MySQLにわたってくる文字コードが違う場合が考えられます。
> 一般ログでは、1と4は全く同じクエリを投げた事になっており、文字化けが
> 確認できませんでした。しかし1の場合は下記エラーをPHPが受け取っています。
> Can't find FULLTEXT index matching the column list
> 
> ------------------------------------------------------------------------
> ・show create table indexer;の結果
> | indexer |CREATE TABLE `indexer` (
>   `entry_id` int(11) DEFAULT NULL,
>   `indexer_url` varchar(200) NOT NULL,
>   `indexer_title` varchar(200) NOT NULL,
>   `indexer_description` text NOT NULL,
>   `indexer_description_org` text NOT NULL,
>   `indexer_body` text NOT NULL,
>   `indexer_subject` varchar(400) NOT NULL,
>   `indexer_copyright` varchar(400) NOT NULL,
>   `indexer_movie_flg` tinyint(1) NOT NULL,
>   `indexer_podcast_flg` tinyint(1) NOT NULL,
>   `indexer_service` varchar(100) NOT NULL,
>   `indexer_author` varchar(400) NOT NULL,
>   `indexer_pubdate` varchar(30) NOT NULL,
>   `indexer_regist` datetime NOT NULL,
>   `indexer_update` datetime NOT NULL,
>   `indexer_site_id` int(11) DEFAULT NULL,
>   UNIQUE KEY `entry_id` (`entry_id`),
>   KEY `index_indexer_url` (`indexer_url`),
>   KEY `index_indexer_title` (`indexer_title`),
>   KEY `index_indexer_regist` (`indexer_regist`),
>   KEY `index_indexer_update` (`indexer_update`),
>   FULLTEXT KEY `indexer_description` (`indexer_description`),
>   FULLTEXT KEY `indexer_description_org` (`indexer_description_org`),
>   FULLTEXT KEY `indexer_body` (`indexer_body`)
> ) ENGINE=MyISAM DEFAULT CHARSET=utf8 |
> ------------------------------------------------------------------------
> 
> ・Sennaのインデックスを張る際のSQL文
> 上記のcreate文の通りです。
> 
> ------------------------------------------------------------------------
> ・/var/senna/senna.confの内容
> DEFAULT_ENCODING utf8
> 
> ------------------------------------------------------------------------
> ・mecabインストールログ
> 文字コードはutf-8(辞書構築時に指定)
> ------------------------------------------------------------------------
> 
> 恐れ入りますが、よろしくお願いいたします。



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