随机顺序和分页Elasticsearch

随机顺序和分页Elasticsearch,第1张

随机顺序和分页Elasticsearch

您可以使用唯一字段(例如id)和随机盐的哈希函数进行排序。根据结果​​的真实程度,您可以执行以下原始 *** 作:

{  "query" : { "query_string" : {"query" : "*:*"} },  "sort" : {    "_script" : {         "script" : "(doc['_id'].value + salt).hashCode()",        "type" : "number",        "params" : { "salt" : "some_random_string"        },        "order" : "asc"    }  }}

或像

{  "query" : { "query_string" : {"query" : "*:*"} },  "sort" : {    "_script" : {         "script" : "org.elasticsearch.common.Digest.md5Hex(doc['_id'].value + salt)",        "type" : "string",        "params" : { "salt" : "some_random_string"        },        "order" : "asc"    }  }}

第二个示例将产生更多随机结果,但速度会稍慢。

为了使这种方法起作用

_id
,必须存储字段。否则,查询将失败
NullPointerException



欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/4973668.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-11-13
下一篇2022-11-13

发表评论

登录后才能评论

评论列表(0条)

    保存