从Elasticsearch获得与我的查询匹配的N个随机匹配

时间:2018-07-27 09:55:52

标签: java elasticsearch

我有大约5000次总匹配的ElasticSearch数据,与我的查询匹配。现在我要从〜5000个点击中随机选择10个。

截至目前,我正在从0-5000生成10次随机数,并使用生成的随机数查询ES 10次。

我是借助ES的 from size 关键字来做到这一点的。通过为 from size 分配随机数为1

我希望在一个查询中完成此操作。有没有办法在ES中做到这一点?

1 个答案:

答案 0 :(得分:0)

您可以使用function_score query(使用random_score)来做到这一点:

GET /_search
{
    "query": {
        "function_score": {
            "random_score": {
                "seed": 5000,
                "field": "_seq_no"
            }
        }
    }
}