ES实现商品广告

商品广告,涉及主要问题:

  • 广告尽可能的都有展示机会
  • 广告的展示机会均等
    通过 function_score 可以非常简单的做到。具体如下:
GET goods_test_v1/_search
{
  "query": {
    "function_score": {
      "query": {
        "term": {
          "type": {
            "value": "AD"
          }
        }
      },
      "functions": [
        {
          "random_score": {
            "seed": 11111,
            "field":"id"
          }
        }
      ]
    }
  }
}

补充说明:

  • seed相同的情况下,会按集中固定的顺序,返回数据。(可能是一种固定顺序,但是实际测试发现是两种固定顺序返回数据)
  • 同一个人,当次访问,用固定的seed,实现当前环境广告,对于个人有序;不同的人,用不同的seed,不同人看到不同的广告
  • 实验环境是 ES 6.3

参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值