【问题标题】:Prefix and suffix wildcards in mysql full text searchmysql全文搜索中的前缀和后缀通配符
【发布时间】:2012-12-13 10:06:55
【问题描述】:

我的客户坚持按字符串的任何部分搜索多个列。所以我正在尝试这样做:

... MATCH(smth, smth2) AGAINST('*string*' IN BOOLEAN MODE)

索引或快速搜索不是必需的,因此即使 MATCH.. AGAINST 不使用索引 - 也可以。但问题是前缀通配符不起作用 - 只有单词后面的那个才起作用:

*string* - will match the same as string* and *string does not match anything

有没有办法用 MYSQL 解决这个问题?我真的不打算安装任何索引服务或类似的东西,所以必须执行缓慢的查询。

我可以尝试以某种方式在多个列上使用 LIKE,但我想这会更慢。

【问题讨论】:

  • 我认为你可以使用 REGEXP 来解决这个问题..!
  • 我可以使用正则表达式或简单的 LIKE,但是如何使用 MATCH...AGAINST 等简单语法将其应用于多个列?

标签: mysql full-text-search


【解决方案1】:

Mysql 全文搜索不允许我们在匹配搜索时使用 * 作为前缀。

检查此以供参考:

http://dev.mysql.com/doc/refman/4.1/en/fulltext-boolean.html

【讨论】:

    猜你喜欢
    • 2012-01-17
    • 1970-01-01
    • 1970-01-01
    • 2012-10-15
    • 2022-10-14
    • 2014-08-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多