全文索引仅返回2行

时间:2012-09-14 06:33:43

标签: mysql full-text-indexing mysql5

我有食物和酒店的桌子 喜欢

CREATE TABLE `food_master` (
  `id` int(6) unsigned NOT NULL auto_increment,
  `caption` varchar(255) default NULL,
  `category` varchar(10) default NULL,
  `subcategory` varchar(10) default NULL,
  `hotel` varchar(10) default NULL,
  `description` text,
  `status` varchar(10) default NULL,
  `created_date` date default NULL,
  `modified_date` date default NULL,
  `chosen_mark` varchar(10) default 'no',
  PRIMARY KEY  (`id`),
  FULLTEXT KEY `description` (`description`,`caption`)
) ENGINE=MyISAM AUTO_INCREMENT=15 DEFAULT CHARSET=latin1

我有数据。我在此表中使用全文索引。我使用查询

SELECT * FROM food_master am 
WHERE MATCH(description, caption) AGAINST ('Chicken')

当我在字段'caption'中有2'鸡'时,此查询正常工作。但是当我把它放到第三个时它不会返回一行。

1 个答案:

答案 0 :(得分:1)

尝试将IN BOOLEAN MODE作为

  

MySQL可以使用IN BOOLEAN MODE执行布尔全文搜索   修改。使用此修饰符,某些字符具有特殊含义   在搜索字符串中的单词的开头或结尾。

SELECT * FROM food_master 
WHERE MATCH(description, caption) AGAINST ('Chicken' IN BOOLEAN MODE)

Demo