elasticsearch:得到随机的不同字段值?

时间:2017-10-30 08:15:06

标签: elasticsearch random

我们有salesId" field"的弹性搜索文件。多个文档可以具有相同的" dealerId"。我们想选择" N"来自它的随机经销商。

到目前为止我做了什么:以下查询将返回max 1000" dealerId"他们的数量按降序排列。然后我们将随机选择" N"记录客户端。

    {
      "from":0,
      "size":0,
          "aggs":{
            "CityIdCount":{
              "terms":{
                "field":"dealerId",
                "order" : { "_term" : "desc" },
                "size":1000
              }
            }
          }
     }

这种方法的缺点是:

  1. 如果将来我们有超过1K的独特经销商,这种方法会失败,因为它只会挑选出1K顶级经销商。我们应该把什么作为"尺寸"为此?
  2. 虽然我们只需要随机的" N"我们正在获取所有数据。即3或4个随机" dealerId"从弹性服务器到客户端。我们可以在弹性查询本身中以某种方式进行这种随机化,即顺序:"随机"?
  3. 我已经阅读了类似here的内容,但现在尝试检查我们是否有一些解决方案。

0 个答案:

没有答案