MATCH()AGAINST()与第二个字符串不匹配 - MySQL

时间:2013-02-26 19:37:22

标签: mysql full-text-search

我有一个名为links的MyISAM表。它有一个searcher列,它有一个FULLTEXT索引。 这是我的变量值:

  1. ft_min_word_len = 1
  2. ft_stopword_file =
  3. ft_max_word_len = 84
  4. 我需要匹配包含[show]和&的行。 [1]任何顺序。
    我运行这个查询:

    SELECT * FROM links WHERE MATCH(searcher) AGAINST('+[show] +[1]' IN BOOLEAN MODE)
    

    但它也匹配不包含[1]字符串的行。问题是什么?

1 个答案:

答案 0 :(得分:1)

您似乎必须明确括号是搜索字符串的一部分,而不是分组表达式的语法的一部分。

此查询应该适合您:

SELECT * FROM links WHERE MATCH(searcher) AGAINST('+"[show]" +"[1]"' IN BOOLEAN MODE)

以下是一些示例小提琴: