zoukankan      html  css  js  c++  java
  • 搜索的逻辑即是用户的逻辑

    最近负责一个关于“搜索+排序逻辑”的项目,由于有经验丰富的工程师的支持,让我很受启发。经过讨论,我们决定这样做这个项目:

    首先列出所有能影响这个项目的因素,衡量每一个因素的比重,确保不会有一个因素分值过高,而其他因素无法产生影响。最后以公式:“A因素 x 1 + B因素 x 0.5 + C因素 x 2 +。。。+N因素 x X = 得分”。根据得分,从高到低进行排序。

    因素包括:

    Score分值(此分值是根据后台日志Query值,用户查找的记录而定的。因为搜索的逻辑即是用户的逻辑,用户是如何查找产品的,程序只要根据用户查找产品的思维去寻找即可。机器是死的,而人是活的。当大量的用户查找记录汇集到一起时,就能够产生很智能搜索,从数据上保证大多数用户查找的最受欢迎的产品,能够在第一时间显示到用户面前。)

    产品分值(包括产品描述、有无图片、POI完整性、费用说明是否详细、同类型产品价格越低排名约靠前、已付款订单数、用户评分高低。。。)

    供应商分值(包括用户评分、产品数量、二次确认时长、退款率、下单率、总付款订单数。。。)

    人工干预(由于运营活动、与供应商谈合作等因素影响,需要人工改变产品的顺序,于是就给产品一个加权值,保证其优先展示。这个加权值是有时间限制的,产品是我们的,我们说的算!我们当然要以能为我们带来最多售卖的产品为最优先。由于种种原因我们可以帮供应商推荐,但供应商的产品若卖的不好,则必然让其向下排,好的位置一定要留给卖的好的产品!)

    夜间时段(由于有的供应商上班时间是早上9:00~晚上6:00,而有的供应商则可以提供24小时服务。那么就在晚上6:00以后,对24小时服务的供应商提供加权值,保证其优先展示在朝九晚六的供应商之前。这样不但能保证晚上6:00需要服务的用户,能找到没有下班的供应商;同时,也会增加我们产品的售卖)

    时差影响(由于部分供应商在北美,与中国的时差有13个小时。那么,可以根据他们的工作时间给予调整,保证在他们上班的时间段优先展示他们的产品。由于我们的产品覆盖全球多个时区,则根据不同的时区给予相应的加权值)

    单PV订单量(这个因素是实时变化的。根据一个产品的“订单数”除以 "PV数" 得出该产品的“单PV订单量”。若一个产品的“单PV订单量”升高,则会逐渐排名向上;若一个产品的“单PV订单量”降低,则会逐渐排名向下。保证我们把最好的位置留给能为我们带来最大收益的产品)

    行业知识(每一个行业都有该行业的经验,对我们来说,比如11月份至2月份是去普吉岛的最佳时机,那么我们会在10月份开始推荐普吉岛;4月初是去日本旅游的最佳时机,那么我们要在3月初就开始推荐日本。。。不同地区的产品,以及该地区的不同类型的服务,都会根据其火爆的时间段进行推荐,考虑到游客出行会提前购买旅游产品,那么我们会根据从数据中获取到的用户提前购买时间段,进行推荐)

    整个的逻辑,是不断动态变化着的。

    尽管它不完美,但它能保证在目前的情况下,推荐最优的产品给用户,尽量的保证用户找到他想要的产品,以此来提高我们产品的售卖。

    搜索逻辑是一个很大的项目,不是一次性能够做好的,我们这次版本也仅仅是V2.0的版本。往后会对搜索逻辑进行不断的优化,我相信每一次优化对我们的数据都是一次提升。

    最后在此,感谢大力支持的工程师们!!!

  • 相关阅读:
    发现了一个前端导航网站
    git 设置区分大小写
    分享一个 thinkphp 分页的24款样式
    thinkphp5结合layui表单和图片上传
    tp5分页+循环子字段
    tp5 + layui 分页
    composer的安装
    thinkphp 管道写法及volist标签属性
    把常见的分隔符按照自定义的格式分割
    spring mvc 框架下的maven打包发布方法
  • 原文地址:https://www.cnblogs.com/maiyacheng/p/4363538.html
Copyright © 2011-2022 走看看