gpt4 book ai didi

php - 如何根据产品区域中给定的关键字显示最相关的内容?

转载 作者:行者123 更新时间:2023-11-29 03:05:57 25 4
gpt4 key购买 nike

我正在创建一个产品区域。所有产品中都有一些关键字 ID。我要实现的是,如果选择了一个产品,我想显示最相关的 页面下方的其他产品。例如数据,

产品编号 |产品名称 |关键词

23     | product1     | 2,4,13
31 | product3 | 2,4,8
10 | product6 | 2,4
11 | product4 | 2,3
34 | product2 | 2,4
54 | product5 | 2,7
12 | product8 | 4,8

假设我必须显示产品的相关产品包含关键字 2 和 4。目前我正在使用以下获取相关产品

$sql="SELECT * FROM table1 WHERE keywords REGEXP '(^|,)2(,|$)' OR keywords REGEXP '(^|,)4(,|$)' ORDER BY product_id"

但有时这不会返回主要相关的产品。

对于上面的示例数据,product_id 23,31,10,34应该比其他记录具有更高的优先级。

这可能吗?那我应该怎么做才能克服这个问题呢?感谢所有回复。

最佳答案

只需使用 FIND_IN_SET

SQLFiddle demo

select t.*,
SIGN(FIND_IN_SET('2',keywords))+SIGN(FIND_IN_SET('4',keywords))
as FindWeight
from t
where
SIGN(FIND_IN_SET('2',keywords))+SIGN(FIND_IN_SET('4',keywords))>0
ORDER BY FindWeight DESC

关于php - 如何根据产品区域中给定的关键字显示最相关的内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15239209/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com