我有大约5000次总匹配的ElasticSearch数据,与我的查询匹配。现在我要从〜5000个点击中随机选择10个。
截至目前,我正在从0-5000生成10次随机数,并使用生成的随机数查询ES 10次。
我是借助ES的 from 和 size 关键字来做到这一点的。通过为 from 和 size 分配随机数为1
我希望在一个查询中完成此操作。有没有办法在ES中做到这一点?
答案 0 :(得分:0)
您可以使用function_score
query(使用random_score
)来做到这一点:
GET /_search
{
"query": {
"function_score": {
"random_score": {
"seed": 5000,
"field": "_seq_no"
}
}
}
}