Solr -排序和查询的相对提升

im9ewurl  于 2022-11-05  发布在  Solr
关注(0)|答案(1)|浏览(163)

我的文件结构如下-

{
  "food_group":"Proteins",
  "carbs":"6.295",
  "protein":"13.729",
  "fat":"2.551",
  "calories":103.0
}

目的是按照查询中用户喜欢的food_group的提升以及用户偏好的卡路里接近度的提升所确定的顺序来获取文档。
基于食物_组的提升是通过以下方式实现的-

(
food_group:"Proteins"^boost1  OR
food_group:"Dairy"^boost2  OR
food_group:"Grains"^boost3 
)

然而,当我将abs(sub(preferred_calories,calories)) asc添加到用户的preferred_calories的卡路里接近系数时,基于food_group的提升丢失

w7t8yxp5

w7t8yxp51#

尝试使用升压功能

bf=div(1,abs(sub(100,calories)))
defType=edismax
q=(food_group:"Proteins"^100 OR food_group:"Dairy" OR food_group:"Grains")

数据来源:https://cwiki.apache.org/confluence/display/solr/The+DisMax+Query+Parser#TheDisMaxQueryParser-Thebf(提升函数)参数

相关问题