开发者社区> 问答> 正文

php+mysql中多关键字相似度查询的疑问

在一个老程序上面进行增加一个相似度搜索。每个产品对应的又多个关健字(手工添加关健字),现在要求根据一个产品搜索相似产品。相似匹配的条件就是关键字,越接近越相似。下表简化版
关键字表:
key_id , key_name
key_id: 主键
key_name: 关键字名称
记录示例:8
产品:
product_id , product_name , key_ids
product_id:主键
product_name:产品名称
key_ids: 关键字集合用逗号分隔
记录示例:
9
不知道大神们有什么好的解决方案? 前提表不能改动(历史原因不能动)
要求就是根据产品表里面某一产品的key_ids 去找和它最匹配的所有产品,不知道有神马好方法?

展开
收起
落地花开啦 2016-02-15 10:38:45 2506 0
1 条回答
写回答
取消 提交回答
  • 喜欢技术,喜欢努力的人

    不知道可不可行,你参考一下
    `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 )
    )
    )`

    2019-07-17 18:43:01
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
PHP安全开发:从白帽角度做安全 立即下载
PHP 2017.北京 全球开发者大会——高可用的PHP 立即下载
复杂PHP系统性能瓶颈排查及优化 立即下载

相关镜像