如何判断查询结果的匹配度呢?在线等回复。

yhfd 2006-08-14 01:15:28
是这样的。比如搜索结果有个“北京长城是文物古迹”的数据。当输入“北京”不会出现,只有匹配程度到达“北京长城是文物”或“长城是文物古迹”才会显示,姑且说是结果匹配度到达80%以上才会显示结果。

谢谢大家指点。分不多。挺急的。在线等结果。
...全文
233 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
yhfd 2006-08-14
  • 打赏
  • 举报
回复
好的。非常好的想法。我已经在测试了。谢谢您。我会把我的执行效率跟贴出来。分少了点,不过我的心意啦。请收下。
fcuandy 2006-08-14
  • 打赏
  • 举报
回复
没有语言. 想骂醒楼主,想想算了.
yhfd 2006-08-14
  • 打赏
  • 举报
回复
强人啊。我测试去啦。
fcuandy 2006-08-14
  • 打赏
  • 举报
回复
如果出现"我是一匹来自北方的狼,我是一匹来自北方的狼,走在无沿的京都,那京都就是南京"
匹配度 250% ?
OracleRoob 2006-08-14
  • 打赏
  • 举报
回复

create table #t(txt varchar(100))

insert into #t
select '北京长城是文物古迹' union all
select '北京长城是文物古迹123123123123123123'

declare @a varchar(100)

set @a='北京长城是文物'

select *,cast(len(@a)*1.0/len(txt) as decimal(10,2)) as 匹配度
from #t
where txt like '%' + @a + '%'
and cast(len(@a)*1.0/len(txt) as decimal(10,2))>=0.7

drop table #t
yhfd 2006-08-14
  • 打赏
  • 举报
回复
帮忙啦 大家。
yhfd 2006-08-14
  • 打赏
  • 举报
回复
再补充说明一下用意:
匹配度不考虑拆解关键字。
yhfd 2006-08-14
  • 打赏
  • 举报
回复
对 对 对 。大家指正。呵呵。

确切的说是精确匹配程度。

概率计算是80%。

我觉得挺常用的。一定有DX帮我地。
willial 2006-08-14
  • 打赏
  • 举报
回复
关注!
OracleRoob 2006-08-14
  • 打赏
  • 举报
回复
楼主说的匹配度,改为相似率更贴切。
jaway 2006-08-14
  • 打赏
  • 举报
回复
关注
pao1uo 2006-08-14
  • 打赏
  • 举报
回复
这个想法是不是有问题

因为LZ的说法好像倒过来了,如果输入“北京”,只要出现“北京”就是匹配度100%的,如果出现“北方...京都”可以说匹配度不到100,如果只是出现“北方...”可能匹配度更低
OracleRoob 2006-08-14
  • 打赏
  • 举报
回复
匹配度到达80%?

按字符个数计算?

27,581

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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