关于Mysql全文搜索

时间:2014-01-10 02:47:17

标签: php mysql full-text-search

我有一张桌子和一些行,我想要全文搜索,但是没有空格的全文col。

例如:

我的MySQL表:

CREATE TABLE IF NOT EXISTS `members` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `username` varchar(255) NOT NULL DEFAULT '',
  `fulltextcol` varchar(10) NOT NULL DEFAULT '',
  PRIMARY KEY (`id`),
  FULLTEXT KEY `fulltextcol` (`fulltextcol`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=5 ;

插入内容:

INSERT INTO `members` (`id`, `username`, `fulltextcol`) VALUES
(1, 'username1', 'YYYYYNYNYN'),
(2, 'username2', 'NNNNYNYNYN'),
(3, 'username3', 'YYNNYNYYYY'),
(4, 'username4', 'YNYNYNYNYN');

现在我的mysql命令:

SELECT *,MATCH(fulltextcol) AGAINST('YNYNYNYNYN') as Relevance 
FROM members
WHERE MATCH(fulltextcol) AGAINST('YNYNYNYNYN' IN BOOLEAN MODE)
HAVING Relevance > 0.2
ORDER BY Relevance DESC

是的一切都没问题,这个查询只选择完全匹配(所以只选择第4行),但我希望它必须选择所有分数/相关性。

例如,第一行有"YYYYYNYNYN"并且它不完全匹配,但我希望此查询选择低相关性,如果第4行的相关性为1.18,则第1行的相关性可以为0.32。

我希望我能解释一下我的问题。

我该怎么做?

0 个答案:

没有答案