全文索引只在搜与内容开头相同的文字时才会有结果

luxooq 2018-07-17 03:13:28
比如数据库里存的是“一万五千元”,若用户搜“五千”就没有结果,只有搜“一万”或“一万五”才有结果,请问该怎么办才能让用户搜“五千”也可以搜到呀?
...全文
264 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
luxooq 2018-07-19
  • 打赏
  • 举报
回复
数据库里有“美国达人秀”,若搜“美国”或“美国达”这些跟数据库中数据从开头一样的关键字时会有结果
luxooq 2018-07-19
  • 打赏
  • 举报
回复
引用 7 楼 ckc 的回复:
[quote=引用 5 楼 luxooq 的回复:]
[quote=引用 4 楼 lzd_83 的回复:]
WHERE COL %五千%

SELECT * FROM zy WHERE match(name) against('%达人%' IN BOOLEAN MODE)
是这样用么?搜不到结果[/quote]
全文索引的话是不需要加%号的,据说也不需要从头开始
[/quote]
对,大部分情况下不用加%
但是我用全文索引只能搜到从头开始一样的结果,好像必须这样用。
请问有没有其他高效的能模糊匹配的搜索方法呀?
ckc 2018-07-19
  • 打赏
  • 举报
回复
引用 5 楼 luxooq 的回复:
[quote=引用 4 楼 lzd_83 的回复:] WHERE COL %五千%
SELECT * FROM zy WHERE match(name) against('%达人%' IN BOOLEAN MODE) 是这样用么?搜不到结果[/quote] 全文索引的话是不需要加%号的,据说也不需要从头开始
luxooq 2018-07-18
  • 打赏
  • 举报
回复
引用 4 楼 lzd_83 的回复:
WHERE COL %五千%

SELECT * FROM zy WHERE match(name) against('%达人%' IN BOOLEAN MODE)
是这样用么?搜不到结果
ckc 2018-07-18
  • 打赏
  • 举报
回复
用%匹配的?前面也加上%号,类似 like '%五千%'这样
Rotel-刘志东 2018-07-18
  • 打赏
  • 举报
回复
WHERE COL %五千%
luyaran 2018-07-18
  • 打赏
  • 举报
回复
模糊匹配,实在不行,就在sql中使用正则就可以
luxooq 2018-07-18
  • 打赏
  • 举报
回复
引用 1 楼 ckc 的回复:
用%匹配的?前面也加上%号,类似 like '%五千%'这样

这样还是搜不到啊

56,679

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧