【问题标题】:having trouble with FullTextSearch全文搜索遇到问题
【发布时间】:2013-04-19 15:20:01
【问题描述】:

我是MySQL FULLTEXTSEARCH 的新手。这是我尝试过的,

SELECT * 
FROM example_myisam
WHERE MATCH(data, data2) AGAINST ('+*ar' IN BOOLEAN MODE);

但它给了我零结果。我正在寻找的是将此LIKE 语句转换为FULLTEXT

SELECT *
FROM example_myisam 
WHERE data LIKE '%ar' OR
      data2 LIKE '%ar';

如果有帮助,这里有一个演示:http://www.sqlfiddle.com/#!2/d3fdd/12

这也是我的 DDL 声明:

CREATE TABLE example_myisam
(
    id     INT,
    data   VARCHAR(50),
    data2  VARCHAR(50)
) ENGINE = MYISAM;

ALTER TABLE example_myisam ADD FULLTEXT alltext (data, data2);

【问题讨论】:

  • 您的表中是否设置了 FULLTEXT 索引?

标签: mysql


【解决方案1】:

您可能需要结合使用MATCH()...AGAINST()LIKE 才能获得所需的结果。 * 用于查找带有前缀的单词。所以,它必须像Vict* 一样使用。

【讨论】:

  • 没有其他方法可以搜索包含字符串吗?
  • 老实说,我认为这是您的最佳选择。除非您想提取所有结果,并在代码中使用正则表达式对它们进行排序,否则我认为您不想这样做。
猜你喜欢
  • 1970-01-01
  • 2011-01-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多