hlh*_*406 2 mysql sql match-against
我在 MySQL 数据库中使用 Match Against 时遇到问题,希望有人能提供帮助。
这是我数据库中数据的示例:
id name
1 really bitter chocolate
2 soft cheese
Run Code Online (Sandbox Code Playgroud)
当我运行此查询时:
SELECT * FROM food WHERE (name) LIKE "%bitter%"
Run Code Online (Sandbox Code Playgroud)
这带来了第一个结果:
1 really bitter chocolate
Run Code Online (Sandbox Code Playgroud)
然而,它是一个更大的查询的一部分,当我运行 Match Against 代码时,我没有从这些查询中得到任何返回:
SELECT * FROM food WHERE MATCH (name) AGAINST ("bitter")
SELECT * FROM food WHERE MATCH (name) AGAINST ("bitter", IN BOOLEAN MODE)
Run Code Online (Sandbox Code Playgroud)
我打开了全文搜索,当我搜索名称的开头时它可以工作:
SELECT * FROM food WHERE MATCH (name) AGAINST ("really")
SELECT * FROM food WHERE MATCH (name) AGAINST ("really", IN BOOLEAN MODE)
Run Code Online (Sandbox Code Playgroud)
两者都返回:
1 really bitter chocolate
Run Code Online (Sandbox Code Playgroud)
我已经通读了这个解决方案: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)
Run Code Online (Sandbox Code Playgroud)
但它在查询浏览器中没有返回任何结果,也没有返回任何错误或警告。
| 归档时间: |
|
| 查看次数: |
12019 次 |
| 最近记录: |