mysql - 使用连字符/破折号进行 MariaDB 全文搜索

标签 mysql mariadb full-text-search

我们将从 MySQL 5.6 迁移到 MariaDB 10.1,并拥有产品描述和产品编号的全文索引 (InnoDB)。我们的许多产品编号中都包含破折号/连字符,例如“Pf-2”。如果我在 MySQL 中搜索它,它将搜索“PF”和“2”,这两个字符都不到 3 个字符,并且会返回空结果。 MariaDB 是否可以将连字符视为字母字符而不是停止/分词字符?在 MySQL 中,使用 UTF8 字符集执行此操作的唯一方法是自定义构建 MySQL。

最佳答案

您可以引用查询字符串:

select *
from mytable
where  match(mycol) against  ('+"Pf-2"' in boolean mode)>0.0;

关于mysql - 使用连字符/破折号进行 MariaDB 全文搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40941269/

相关文章:

php - innoDB 的全文?或 php 应用程序的良好解决方案

php - 生成一百万个唯一的随机 12 位数字

mysql - 如何在两个语句上使用联接?

android - Kivy Android Sqlite3 fts 应用程序崩溃并出现 "no such module"错误

php - SQL - 如何获取创建的同一日期的最新数据

PHP序列化数据存储在mysql db错误

元素数组中的数组上的 MongoDB 全文

mysql - 无法连接到 AWS 中的 mysql

如果表为空,则为 Php & mysql

python - 使用 MariaDB 10.2 安装 mysqlclient 时出错