是否可以按SOLR中的临时字段对记录进行排序?

时间:2019-12-02 13:38:03

标签: java sorting solr enums

这很有趣!。

我正在尝试解释我的用例,所以如果您有任何疑问,请告诉我,以便在评论中阐明。

问题:

考虑我们有一个Employee实体,并且还考虑到我们有一个Designation之类的字段(如下所述的Enum值)以及Employee的其他字段。我正在UI中显示Employee记录的列表,并且有一些功能可以按字段Designation进行排序。实际上,我正在按EmpDesignation的枚举数对记录进行排序,这会导致UI中的顺序不正确,因为我正在显示“指定为文本”(SOFTWARE ENGINEER, WEB DEVELOPER, TECHNICAL SUPPORT, etc),但是按照记录的枚举数对记录进行了排序,是此问题的根本原因。

enum EmpDesignation {
  SOFTWARE_ENGINEER = 0; 
  WEB_DEVELOPER = 1;
  TECHNICAL_SUPPORT = 2;
  NETWORK_ENGINEER = 3;
  BUSINESS_ANALYST = 4;
}

我正在寻找solution / approach / suggestion来按我在UI中显示的文本正确地对记录进行排序。请也考虑以下注意事项。

  • 我无法更改Enum值的顺序,因为基于枚举名称及其编号可以完成很多功能。
  • 我无法为枚举名称建立索引,因为每次都要根据应用程序周围的某些配置来重新索引值。
  • 我正在探索以下类似问题。
    • 创建一个临时字段
    • 为每个指定枚举编号定义文本值
    • 按定义的文本排序

0 个答案:

没有答案