我的文档结构如下 -
{
"food_group":"Proteins",
"carbs":"6.295",
"protein":"13.729",
"fat":"2.551",
"calories":103.0
}
目的是按照用户在查询中喜欢的food_group的提升确定的顺序获取文档,以及提高用户偏好的卡路里。
基于food_group的提升实现如下 -
(
food_group:"Proteins"^boost1 OR
food_group:"Dairy"^boost2 OR
food_group:"Grains"^boost3
)
然而,当我添加abs(sub(preffered_calories,calories)) asc
来计算卡路里与用户的preffered_calories之间的关系时,基于food_group的提升会丢失
答案 0 :(得分:1)
尝试使用提升功能
bf=div(1,abs(sub(100,calories)))
defType=edismax
q=(food_group:"Proteins"^100 OR food_group:"Dairy" OR food_group:"Grains")