【发布时间】:2022-10-19 21:31:14
【问题描述】:
我有一个包含应用程序文档的弹性搜索索引。每个文档都有应用程序版本和其他一些字段:
版本: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
}
}
}
]
application_version 类型:关键字
【问题讨论】:
-
显示您的查询。字段版本是关键字类型?
-
@rabbitbr 在原始问题中添加了查询和类型。
-
我对范围查询进行了一些测试,并且成功了。也许您的问题是范围以外的其他子句。我正在使用 ES8.4
-
@rabbitbr lt(低于)大小写不起作用。示例: { "application_version" : { "from" : null, "to" : "2", "include_lower" : true, "include_upper" : false, "boost" : 1.0 } 返回版本为 "13.0" 和 "14.0" 的应用程序"
标签: elasticsearch