一种像 disjunction_max 一样获得平均分的方法
A way to score average just like disjunction_max
我有一个查询,使用 dis_max 从由多个嵌套查询评分的批处理文档中获取最大分数:
{
"query": {
"dis_max": {
"queries": [
{
"nested" : {}, //nested_1
"nested" : {} //nested_2
}
]
}
}
}
有没有像“dis_avg”这样的查询,不是return最高分,而是求平均分。
例如,据我所知:
nested_1 从 object_a 中获得 0.7 分,从 object_b 中获得 0.2 分,
nested_2 从 object_a 中获得 0.5 分,从 object_b 中获得 0.8 分,
和dis_max得分object_b0.8并标记为第一,得分object_a0.7并标记为第二。
以及此处的任何查询,以便我可以:
得分object_b 0.5,标记为第二,得分object_a 0.6,标记为第一。
我使用 bool 查询组合多个查询,并使用 boost 对每个查询进行平均加权以获得平均分数。
我有一个查询,使用 dis_max 从由多个嵌套查询评分的批处理文档中获取最大分数:
{
"query": {
"dis_max": {
"queries": [
{
"nested" : {}, //nested_1
"nested" : {} //nested_2
}
]
}
}
}
有没有像“dis_avg”这样的查询,不是return最高分,而是求平均分。
例如,据我所知:
nested_1 从 object_a 中获得 0.7 分,从 object_b 中获得 0.2 分,
nested_2 从 object_a 中获得 0.5 分,从 object_b 中获得 0.8 分,
和dis_max得分object_b0.8并标记为第一,得分object_a0.7并标记为第二。
以及此处的任何查询,以便我可以:
得分object_b 0.5,标记为第二,得分object_a 0.6,标记为第一。
我使用 bool 查询组合多个查询,并使用 boost 对每个查询进行平均加权以获得平均分数。