Elasticsearch获取随机文档,每个类别至少5个

时间:2018-02-14 15:10:15

标签: elasticsearch

在互联网上搜索但没有解决方案。我有1000个文件,有5个类别。每个类别有大约200个文档。我想从每个类别中至少抽取30个随机文档。请建议我任何解决方案。

1 个答案:

答案 0 :(得分:3)

我认为你需要这个页面:

  

https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-function-score-query.html

我测试了大小限制的基本查询,每次都得到不同的结果。这是示例代码。

GET logstash-*/_search
{
  "size": 3, 
    "query": {
        "function_score": {
            "query": { "match_all": {} },
            "boost": "5",
            "random_score": {}, 
            "boost_mode":"multiply"
        }
    }
}



我不知道你怎么做随机分类,但最坏的情况是你可以运行5个查询6个文件。