我有一个包含应用程序文档的ElasticSearch索引。每个文档都有应用程序版本和一些其他字段:
版本:2.3.4,名称:Spotify音乐播放器
版本:1.2.3,名称:数独
在这种情况下,如何应用GT(大于)按版本搜索或自定义它?如果应用程序有1.2.3和1.3.2版本-使用标准查询可以很好地工作(GT 1将返回两个文档),但在1.2.3和2.1.3的情况下,ES只返回应用程序的1.2.3版本。
查询:
"bool" : {
"should" : [
{
"range" : {
"application_version" : {
"from" : "1.2.3",
"to" : null,
"include_lower" : false,
"include_upper" : true,
"boost" : 1.0
}
}
}
]
应用程序版本类型(_V):保留字
1条答案
按热度按时间um6iljoc1#
我一直在研究,我认为最好的选择是将application_version的类型更改为Version field type。
版本字段类型是关键字字段的特殊化,用于处理软件版本值并支持它们的特殊优先级规则。优先级是按照语义版本控制概述的规则定义的,例如,这意味着主要、次要版本和修补程序版本部分按数字排序(即“2.1.0”〈“2.4.1”〈“2.11.2”),预发布版本在发布版本之前排序(即“1.0.0-alpha”〈“1.0.0”)。