【发布时间】:2018-11-19 08:13:08
【问题描述】:
我遇到了一种情况,使用 ES 6.5,我可以执行 bool 或 random_score,但不能同时执行两者。以下是其中一个潜在的查询:
{
"from": 0,
"size": 50,
"query": {
"function_score": {
"random_score": {
"seed": 10,
"field": "_seq_no"
}
},
"bool": {
"filter": [
{
"terms": {
"primary_category": [
"foobar"
]
}
},
{
"terms": {
"primary_type": [
"barbaz"
]
}
}
]
}
}
}
如果我要删除 function_score 块或 bool 块,则查询有效,但结合起来,它不会:
[function_score] malformed query, expected [END_OBJECT] but found [FIELD_NAME]
我是否遗漏了有关示例的内容:https://www.elastic.co/guide/en/elasticsearch/reference/6.2/query-dsl-function-score-query.html#function-random
我想要做的就是以可预测的方式“随机排序”我的结果,这种方式可以跨分页等工作。实际上我只是想显示具有高方差的过滤结果,因为任何类型的标准排序都会创建模式在我试图避免的结果中。
任何帮助将不胜感激,我会继续修补它。
【问题讨论】:
标签: elasticsearch