我正在寻找一种方法将弹性版本中的点缀版本保存为字符串(例如“1.2.23”),然后在此字段上使用范围查询。 e.g
{
"query": {
"range": {
"version": {"gte": "1.2.3", "lt": "1.3"}
}
}
}
我只有3个组件(主要,次要,构建)。我需要能够确定
我想到了以下方法:
还有其他想法或建议吗?
答案 0 :(得分:1)
如果您在索引代码中有一定的自由度来将这些语义版本按摩到其他内容,我建议将每个版本转换为唯一的整数,然后将这些数字与单个{{}进行比较非常容易1}}查询。
算法很简单:
range
=> 1.2.34
,1
,2
34
=> 1
1000000
=> 2
2000
=> 1000000 + 2000 + 34
1002034
个查询