首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >弹性搜索的随机文档7.6.2 -弃用警告消息

弹性搜索的随机文档7.6.2 -弃用警告消息
EN

Stack Overflow用户
提问于 2020-05-27 19:36:34
回答 1查看 3.5K关注 0票数 0

尝试获取显示结果的随机6条记录,但在7.6.2中给出警告消息

下面的是查询

代码语言:javascript
复制
GET audio,video/_search
{
  "_source": [
    "id",
    "title"
  ],
  "size": 6,
  "query": {
    "function_score": {
      "query": {
        "match_all": {}
      },
      "random_score": {
        "seed": 1376773391128418000
      }
    }
  }
}

下面是来自基巴纳的警告信息。

好了!弃用:从7.0版开始,Elasticsearch将要求在设置种子时提供字段参数

好了!弃用:在_id字段上加载字段数据是不推荐的,并将在以后的版本中删除。如果需要对此字段进行排序或聚合,还应该在文档正文中包含id,并将该字段映射为已启用doc_values的关键字字段。

EN

回答 1

Stack Overflow用户

发布于 2020-05-28 03:32:08

从ElasticSearch7.0开始,需要提供一个字段,该字段可以为生成的随机种子添加唯一性。如果我们不指定任何字段,默认情况下它使用_id字段,但这需要加载字段数据。由于字段数据被认为是内存密集型的,因此在使用_id字段时,建议使用文档正文中的任何其他字段,而不是random_score字段(如弹性文档中提供的seq_no字段)。

如上所述(内存密集型),不建议使用_id进行排序或聚合,并且可以将相同的数据作为关键字字段添加到文档正文中。通常,最好避免对文本字段进行排序或聚合,因为它们在这些字段上使用字段数据。

这些查询仍然只允许向后兼容,更好的是更新您的代码,因为它们将在以后的版本中删除。

更多信息:https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping-id-field.html

使用字段更新随机分数。

代码语言:javascript
复制
GET audio,video/_search
{
  "_source": [
    "id",
    "title"
  ],
  "size": 6,
  "query": {
    "function_score": {
      "query": {
        "match_all": {}
      },
      "random_score": {
        "seed": 1376773391128418000,
        "field": id
      }
    }
  }
}
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62051460

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档