gpt4 book ai didi

MySQL Match Against In Boolean Mode 在中间词上不返回任何内容

转载 作者:行者123 更新时间:2023-11-29 04:22:47 25 4
gpt4 key购买 nike

我在我的 MySQL 数据库中使用 Match Against 时遇到问题,我希望有人能提供帮助。

这是我数据库中的数据示例:

id   name
1 really bitter chocolate
2 soft cheese

当我运行这个查询时:

SELECT * FROM food WHERE (name) LIKE "%bitter%"

这会带回第一个结果:

1    really bitter chocolate

然而,它是一个更大查询的一部分,当我运行 Match Against 代码时,我没有从这些查询中得到任何返回值:

SELECT * FROM food WHERE MATCH (name) AGAINST ("bitter")

SELECT * FROM food WHERE MATCH (name) AGAINST ("bitter", IN BOOLEAN MODE)

我打开了全文搜索,当我搜索名字的开头时它起作用了:

SELECT * FROM food WHERE MATCH (name) AGAINST ("really")

SELECT * FROM food WHERE MATCH (name) AGAINST ("really", IN BOOLEAN MODE)

两者都返回:

1    really bitter chocolate

我已经通读了这个解决方案:http://dev.mysql.com/doc/refman/5.5/en/fulltext-boolean.html

我看过这里:mysql WHERE MATCH AGAINST

有人可以看看我哪里出错了或者给我指出正确的方向吗?

谢谢!

编辑

好的,根据下面 Woot4Moo 的出色回答,我更改了我的代码以删除不应该出现的逗号。我还添加了 + 并将其放在单引号中但仍然没有运气。

我当前的查询现在看起来像这样:

SELECT * FROM food WHERE MATCH (name) AGAINST ('+bitter' IN BOOLEAN MODE)

但它在查询浏览器中没有返回任何结果,也没有返回任何错误或警告。

最佳答案

如果这是您表中仅有的两行,那么您在 50% 的记录中都有搜索到的字符串,它将被忽略。

关于MySQL Match Against In Boolean Mode 在中间词上不返回任何内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19004674/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com