在一个老程序上面进行增加一个相似度搜索。每个产品对应的又多个关健字(手工添加关健字),现在要求根据一个产品搜索相似产品。相似匹配的条件就是关键字,越接近越相似。下表简化版
关键字表:
key_id , key_name
key_id: 主键
key_name: 关键字名称
记录示例:
产品:
product_id , product_name , key_ids
product_id:主键
product_name:产品名称
key_ids: 关键字集合用逗号分隔
记录示例:
不知道大神们有什么好的解决方案? 前提表不能改动(历史原因不能动)
要求就是根据产品表里面某一产品的key_ids 去找和它最匹配的所有产品,不知道有神马好方法?
不知道可不可行,你参考一下
`SELECT product_id, product_nameFROM product_table
WHERE
FIND_IN_SET(
'手机',
(
SELECT GROUP_CONCAT(key_name) FROM
key_table
WHERE
FIND_IN_SET( key_id, product_table.key_ids )
)
)`
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。