mysql 按相似度排序_如何找到相似的结果并根据相似性进行排序?

.相似性

对于MySQL中的Levenshtein,SELECT

column,

LEVENSHTEIN(column, 'search_string') AS distance

FROM table WHERE

LEVENSHTEIN(column, 'search_string') 

2.包含、不区分大小写

使用LIKE语句,默认情况下它不区分大小写。这个%是通配符,所以前后可能有任何字符串。search_string.SELECT

*FROM

tableWHERE

column_name LIKE "%search_string%"

3.包含、区分大小写默认字符集和排序规则是latin 1和latin 1_瑞典_ci,因此非二进制字符串比较在默认情况下是不区分大小写的。这意味着,如果使用colname(如‘a%’)进行搜索,则会得到以A或a开头的所有列值。要使此搜索区分大小写,请确保其中一个操作数具有区分大小写或二进制排序规则。例如,如果要比较具有latin 1字符集的列和字符串,则可以使用排序规则运算符使操作数具有latin 1_General_cs或latin 1_bin排序规则.

我的MySQL安装程序不支持latin1_general_cs或latin1_bin,但对我来说,使用校对是很好的。utf8_bin由于二进制UTF 8区分大小写:SELECT

*FROM

tableWHERE

column_name LIKE "%search_string%" COLLATE utf8_bin

2./3.按Levenshtein距离排序SELECT

column,

LEVENSHTEIN(column, 'search_string') AS distance // for sortingFROM table WHERE

column_name LIKE "%search_string%"

COLLATE utf8_bin // for case sensitivity, just leave out for CIORDER BY

distance    DESC

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值