MySql,搜索在BOOLEAN MODE中有两个关键字的列

时间:2012-04-04 11:35:05

标签: php mysql

我为我的网站制作了一个搜索系统。

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

  1. Apple macbook air review
  2. Apple iMac评论
  3. Apple iPhone评论
  4. iPhone 4拆箱审核
  5. iPhone越狱审核
  6. 用户在搜索输入上键入“iphone review”。

    我想像这样显示结果

    1. Apple iPhone评论
    2. iPhone 4取消装箱审核
    3. iPhone 越狱审核
    4. 我可以成功地破解搜索词并使用布尔模式。

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

      但它不会像上面那样显示结果。

      搜索包含iphone或评论字词的数据。

      你可以帮我解决这个问题吗?

2 个答案:

答案 0 :(得分:2)

您必须在单词前面使用+符号,以确保每次点击都有。{/ p>

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

有关详细信息,请参阅manual

答案 1 :(得分:0)

您可以尝试此查询:

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

这个对我有用。