我为我的网站制作了一个搜索系统。
假设数据库中有 5 条数据。
- 苹果 MacBook Air 评测
- 苹果 iMac 评测
- 苹果 iPhone 评测
- iPhone 4 拆箱评论
- iPhone 越狱评测
用户在搜索输入中键入“iphone review”。
我想显示这样的结果
- Apple iPhone 评测
- iPhone 4 拆箱评测
- iPhone越狱审核
我可以成功地破解搜索词并使用 bool 模式。
SELECT * FROM BOOKMARK WHERE MATCH title AGAINST ('iphone* review*' IN BOOLEAN MODE)
但是不会像上面那样显示结果。
它搜索包含 iPhone 或评论词的数据。
你能帮我解决这个问题吗?
最佳答案
您必须在单词前面使用 +
符号,以确保它出现在每次点击中。
SELECT * FROM BOOKMARK WHERE MATCH title AGAINST ('+iphone +review' IN BOOLEAN MODE)
有关更多信息,请参阅manual
关于php - MySql,搜索具有 bool 模式两个关键字的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10010271/