Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
全文搜索MySQL未按预期工作_Mysql - Fatal编程技术网

全文搜索MySQL未按预期工作

全文搜索MySQL未按预期工作,mysql,Mysql,根据mysql文档,它说在布尔搜索中添加+运算符将要求搜索包含单词 我使用了这个查询,但结果是一行只包含1个单词。 它产生了一行,其中包含“bonne”,但单词“bella”不在其中。 我100%确定我在搜索的专栏中添加了UFLLTEXT 我做错什么了吗 SELECT article_title,MATCH(article_title) AGAINST ("+bonne +bella" IN BOOLEAN MODE) as relevance FROM feed_list W

根据mysql文档,它说在布尔搜索中添加+运算符将要求搜索包含单词

我使用了这个查询,但结果是一行只包含1个单词。 它产生了一行,其中包含“bonne”,但单词“bella”不在其中。 我100%确定我在搜索的专栏中添加了UFLLTEXT

我做错什么了吗

SELECT article_title,MATCH(article_title) AGAINST ("+bonne +bella" IN BOOLEAN MODE) as relevance 
        FROM feed_list WHERE MATCH(article_title) AGAINST ("+bonne +bella" IN BOOLEAN MODE)
这样创建的表

CREATE TABLE `feed_list` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `article_title` varchar(255) NOT NULL,
  PRIMARY KEY (`id`),
  FULLTEXT KEY `article_title` (`article_title`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
试着这样做:

SELECT article_title,
    MATCH(article_title) AGAINST ("+bonne +bella" IN BOOLEAN MODE) as relevance
FROM feed_list 
ORDER BY relevance DESC

如果你不想得到太多的记录,你可以添加
LIMIT

你可能想查看你的停止词列表。语言似乎不是英语,也许“bella”根本没有被编入索引。我的列表包含默认的开箱即用列表。那么它不应该什么也不返回吗?@renevdkooi我已经用你的表创建了数据库并添加了一些原始数据。通过你的查询,我得到了你想要的结果。现在我们来谈谈数据。请向我们展示您表中的原始数据,以及您的查询选择的结果记录。奇怪的是,我已经重新创建了表,现在它可以工作了(仍然给我行中有bella(相关性为1),所以这只会让情况变得更糟,因为我已经得到了所有结果。你想得到两个词都出现的记录吗?并按照这个顺序出现吗?不在乎顺序,但两个词都必须在其中。现在我得到了其中的任何一个词(我的理解是没有+运算符)添加+符号并没有达到预期效果。我错了,+符号会将+1添加到相关性?这意味着它仍然会同时返回两者,但相关性会上升?