感谢您抽出宝贵的时间。
我需要在动态字段的基础上对结果进行排序。 我怎样才能做到这一点 ? 当我对某些动态属性的最小值进行排序时。它没有给出正确的结果,因为我的查询类似于& sort = min(A_160018,A_chandigarh1)某些文档同时包含字段A_160018和A_chandigarh1,而某些文档没有字段,而某些文档有一个A_160018或A_chandigarh1用于某些结果doc。
你能帮助我吗?我怎样才能对这种动态场进行排序。
答案 0 :(得分:1)
如果您不知道该字段是否存在,则可以设置默认值,以防该字段不存在。
尝试使用 def 函数,如果该字段不存在,则返回默认值。
//在这部分查询中,我已经设置了一个非常高的默认值,以便将结果放在列表的底部 &安培;排序=分钟(DEF(A_160018,9000000),DEF(A_chandigarh1,9000000))
solr def doc的摘录
def(field | function,defaultValue)返回字段“field”的值, 或者如果该字段不存在,则返回指定的defaultValue。
使用示例:def(rating,5)def()函数将返回 评级,或者如果文档中未指定评级,则返回5