[groonga-dev,03613] Re: 検索条件に関して

Back to archive index

Kouhei Sutou kou****@clear*****
2015年 10月 30日 (金) 10:43:26 JST


須藤です。

In <23551****@web10*****>
  "[groonga-dev,03611] 検索条件に関して" on Fri, 30 Oct 2015 10:11:51 +0900 (JST),
  takah****@yahoo***** wrote:

> 表題の件で御座いますが、前回ご作成頂きました、
> windows版mroongaのmecabを使用して、以下の様なテーブルを作成しました。
> 
> -------------------------------
> delimiter $$
> 
> CREATE TABLE `mail` (
>   `No` double NOT NULL AUTO_INCREMENT,
>   `Subject` varchar(1000) DEFAULT NULL,
>   `Body` mediumtext,
>   `ToAdd` varchar(1000) DEFAULT NULL,
>   `FromAdd` varchar(1000) DEFAULT NULL,
>   `Cc` varchar(1000) DEFAULT NULL,
>   `Bcc` varchar(1000) DEFAULT NULL,
>   `Date` timestamp NULL DEFAULT NULL,
>   `AttachedFile` tinyint(4) DEFAULT NULL,
>   PRIMARY KEY (`No`),
>   FULLTEXT KEY `ToAdd` (`ToAdd`),
>   FULLTEXT KEY `Cc` (`Cc`),
>   FULLTEXT KEY `Bcc` (`Bcc`),
>   FULLTEXT KEY `FromAdd` (`FromAdd`),
>   FULLTEXT KEY `Body` (`Body`) COMMENT 'parser "TokenMecab"',
>   FULLTEXT KEY `Subject` (`Subject`) COMMENT 'parser "TokenMecab"'
> ) ENGINE=Mroonga AUTO_INCREMENT=81 DEFAULT CHARSET=utf8$$
> -------------------------------
> 
> 全文検索を行いたく、抜粋しておりますが、
> 以下の様なテーブルに対して、
> SELECT * FROM mail WHERE MATCH (subject) AGAINST ("test");
> のselect文を行いたいのですが、toaddやfromaddは検索結果が出力されるのですが、
> subjectやbodyに関しては0row(s)returnedになるのですが、
> createまたはselectのやり方に関して、間違っている箇所は御座いますでしょうか。
> ※body、subjectに関しては値が多い為、インデックスの容量が小さくなるだろうと
> 考えてmecabを採用する想定です。

AGAINST部分を次のように変えて試してもらえますか?
(「IN BOOLEAN MODE」というのが増えているのと、キーワードの
前に「+」を付けているのが変更点です。)

  SELECT * FROM mail WHERE MATCH (subject) AGAINST ("+test" IN BOOLEAN MODE);

あと、もしよかったら問題が再現するデータを挿入するINSERT文も
提供してもらえないでしょうか?そうするとこちらでも試せるので
す。。。


-- 
須藤 功平 <kou****@clear*****>
株式会社クリアコード <http://www.clear-code.com/>

Groongaベースの全文検索システムを総合サポート:
  http://groonga.org/ja/support/
パッチ採用 - プログラミングが楽しい人向けの採用プロセス:
  http://www.clear-code.com/recruitment/
コードリーダー育成支援 - 自然とリーダブルコードを書くチームへ:
  http://www.clear-code.com/services/code-reader/



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