尝试获取显示结果的随机6条记录,但在7.6.2中给出警告消息
下面的是查询
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的关键字字段。

发布于 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
使用字段更新随机分数。
GET audio,video/_search
{
"_source": [
"id",
"title"
],
"size": 6,
"query": {
"function_score": {
"query": {
"match_all": {}
},
"random_score": {
"seed": 1376773391128418000,
"field": id
}
}
}
}https://stackoverflow.com/questions/62051460
复制相似问题