首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL全文搜索总是有0个结果吗?

问MySQL全文搜索总是有0个结果吗?
EN

Stack Overflow用户
提问于 2010-11-09 07:39:34
回答 1查看 4.2K关注 0票数 4

我读到过使用全文搜索比使用Like%%更快。我已经更新了我的脚本,但它似乎总是有0个结果。

代码语言:javascript
复制
SELECT *,
MATCH(pages) AGAINST('doodle') AS score
FROM books
WHERE MATCH(pages) AGAINST('doodle')
ORDER BY score DESC 

$keyword的长度超过4个字符,我将pages列作为全文索引。我在pages栏中有"doodle“,格式是"yankee doodle”。

我也试过这个

代码语言:javascript
复制
SELECT *,
MATCH(pages) AGAINST ('doodle' IN BOOLEAN MODE) AS score 
FROM books 
WHERE MATCH(pages) AGAINST ('doodle' IN BOOLEAN MODE)"; 

它们都不起作用:\

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-11-09 07:53:49

全文搜索有一些奇怪的怪癖。

例如,在this page的最后几段中描述的行为可能是导致问题的原因:

...例如,尽管单词“MySQL”出现在前面显示的文章表的每一行中,但是搜索该单词不会产生任何结果:

WHERE SELECT * FROM文章-> WHERE MATCH (标题,正文) mysql> ('MySQL');空集(0.00秒)

搜索结果为空,因为单词“MySQL”出现在至少50%的行中。因此,它被有效地视为一个停用词。对于大型数据集,这是最理想的行为:自然语言查询不应该从1 1GB的表中每隔一行返回一次。对于较小的数据集,它可能不太可取。

这里的答案是添加更多行,或者使用布尔搜索。

如果您需要加权搜索结果,请查看链接页面上的注释Posted by John Craig on December 16 2009 7:01pm以获得变通建议。

票数 13
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4129152

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档