elasticsearch 5.0版
我需要多次随机查询用户信息,但最终结果不能包含重复数据。
例如
第一个随机查询结果
user0 user1 user2
第二个随机查询结果
user0 user3 user4
User0是重复项。
这是我的随机查询,如何修改?
{
"size" : 10,
"query" : {
"match_all" : {
"boost" : 1.0
}
},
"_source" : {
"includes" : [
],
"excludes" : [ ]
},
"sort" : [
{
"_script" : {
"script" : {
"inline" : "Math.random()",
"lang" : "painless"
},
"type" : "number",
"order" : "asc"
}
}
],
"ext" : { }
}
答案 0 :(得分:0)
{
"size": 1,
"query": {
"function_score": {
"functions": [
{
"random_score": {
"seed": "1477072619038"
}
}
]
}
}
}
答案 1 :(得分:0)
您可以使用bool must_not查询和id查询删除以前检索的文档的ID。
{
"query": {
"match_all": {
"boost": 1.0
},
"bool": {
"must_not": [
{
"ids": {
"values": [The set of previous Ids]
}
}
]
}
},
...
}