2012-04-04 72 views
0

我为我的网站做了一个搜索系统。MySql,在BOOLEAN模式中有两个关键字的搜索列

假设数据库中有5个数据。

  1. 苹果MacBook Air的评论
  2. 苹果iMac审查
  3. 苹果iPhone审查
  4. iPhone 4开箱审查
  5. iPhone越狱的评论

用户输入 'iPhone回顾' 上搜索输入。

我想表明这样

  1. 苹果iPhone回顾
  2. iPhone 4拆箱审查
  3. iPhone越狱审查结果

我可以成功地分解搜索词并使用布尔模式。

SELECT * FROM BOOKMARK WHERE MATCH title AGAINST ('iphone* review*' IN BOOLEAN MODE) 

但它不会显示上面的结果。

它搜索有iphone或复习单词的数据。

你能帮我解决这个问题吗?

回答

0

你可以试试这个查询:

SELECT * FROM BOOKMARK WHERE MATCH title AGAINST ('"iphone review"' IN BOOLEAN MODE) 

这一个为我工作。

2

您必须使用单词前面的+符号,以确保它在每次击中时都存在。

SELECT * FROM BOOKMARK WHERE MATCH title AGAINST ('+iphone +review' IN BOOLEAN MODE) 

欲了解更多信息,请参阅manual