有治疗有价格的情况,医院可能会或可能不想显示它。
所以有一个价格字段加上mode=select
字段。
当未设置价格(价格为is_null)时,lp_low_priority
的值为1(真)。
医院医生通过其嵌套治疗方法得以保存。
当用户搜索治疗时,他获得具有最低治疗价格的医院列表。
现在排序工作正常。
但我希望医院接受lp_low_priority
的治疗。
要搜索的代码就像
lp_low_priority = 1
结果太奇怪了。 如果我只使用
{
"sort": [
{
"treatments.lowest_price": {
"nested_filter": {
"term": {
"treatments.treatment_slug": "heart-surgery"
}
},
"mode": "avg",
"order": "asc"
}
},
{
"treatments.lp_low_priority": {
"order": "asc",
"nested_filter": {
"term": {
"treatments.treatment_slug": "heart-surgery"
}
},
"mode": "max"
}
}
],
"query": {
"filtered": {
"filter": [
{
"term": {
"treatments.treatment_slug": "heart-surgery"
}
},
{
"term": {
"treatments.status": "active"
}
},
{
"term": {
"treatments.treatment_status": "active"
}
},
{
"term": {
"hospital_status": "active"
}
},
{
"terms": {
"location.country": [
"India"
]
}
}
]
}
}
}
排序是有序的,但是你看到{
"sort": [
{
"treatments.lowest_price": {
"nested_filter": {
"term": {
"treatments.treatment_slug": "heart-surgery"
}
},
"mode": "avg",
"order": "asc"
}
}
按顺序排在第一位,这是好的(但不是要求)。
我甚至可以为嵌套字段使用多种排序。