首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用连字符/破折号进行MariaDB全文搜索

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

Stack Overflow用户
提问于 2016-12-03 05:42:04
回答 2查看 1.1K关注 0票数 1

我们将从MySQL 5.6迁移到MariaDB 10.1,并有一个用于产品描述和产品编号的全文索引(InnoDB)。我们的大量产品编号中都有破折号/连字符,如"Pf-2“。如果我在MySQL中搜索它,它将搜索"PF“和"2",这两个字符都少于3个字符,并返回一个空结果。是否可以让MariaDB将连字符视为字母字符,而不是停顿/断字字符?在MySQL中,对UTF8字符集执行此操作的唯一方法是执行MySQL的自定义构建。

EN

回答 2

Stack Overflow用户

发布于 2018-10-25 17:57:50

您可以引用查询字符串:

代码语言:javascript
复制
select *
from mytable
where  match(mycol) against  ('+"Pf-2"' in boolean mode)>0.0;
票数 1
EN

Stack Overflow用户

发布于 2018-10-26 23:39:00

我最终使用了:

代码语言:javascript
复制
`SELECT * FROM  `Product` WHERE MATCH(`title`, `number`, `shortDescription`, `rawDescription`, `rawColors`)
AGAINST('PF-2' IN BOOLEAN MODE) OR `number` LIKE '%PF-2%'

不是很理想,但在我们运行Sphinx以取代全文搜索之前,它已经完成了工作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40941269

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档