商品广告,涉及主要问题:
- 广告尽可能的都有展示机会
- 广告的展示机会均等
通过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