【发布时间】:2021-06-10 07:13:53
【问题描述】:
我有一个用例来表示弹性搜索中难度级别(EASY、MEDIUM、DIFFICULT)的枚举,并支持对该字段进行排序。如果此字段被索引为字符串,则排序将无法按预期进行。
支持这一点的一种方法是为 ES 中的每个枚举索引整数值,并在 ES 返回排序结果时将其映射到字符串值。
是否有其他替代方案,例如 ES 本身负责按枚举顺序排序,而该字段被索引为字符串?我可以为字段指定自定义排序功能吗? function_score 是一个选项,但鉴于我必须根据枚举排序进行排序,有没有比定义自定义 function_score 更好的方法?
在我的用例中,有多个这样的枚举定义跨维度的尺度,如难度、高度(低、中、高)、等级(好、平均、差)等。上述两种解决方案都需要自定义工作作为新维度介绍。以上两种方法都可以泛化吗?
【问题讨论】:
标签: sorting elasticsearch enums