Kibana 查询整个值的精确匹配
Kibana query exact match of entire value
我有一系列记录,其字段 App Version
目前有两个可能的值:2.3.0
和 2.3.0 SP1
。如果我尝试像这样在开发控制台中查询 2.3.0
...
GET myindex/_search
{
"query": {
"match": {
"App Version": "2.3.0"
}
}
}
它returns所有记录,2.3.0 SP1
和2.3.0
的记录。由于我的最终目标是删除仅包含 App Version=2.3.0
的所有记录,因此我需要一些方法来过滤掉包含 SP1
的记录。我无法在任何地方找到强制完全匹配 整个字符串 而不仅仅是字符串的一部分的文档。有什么想法吗?
编辑:如果有帮助,我是 运行 Kibana 5.2.2。
对于完全匹配,您应该在非分析字段 (ES 2.X) 或关键字字段 (ES 5.X) 上使用术语查询。但我想您将不得不更改映射。
我也可以将两个或多个查询组合成 bool
query:
{
"query": {
"bool": {
"must": [
{
"match": {
"App Version": "2.3.0"
}
}
],
"must_not": [
{
"match": {
"App Version": "SP1"
}
}
]
}
}
}
我有一系列记录,其字段 App Version
目前有两个可能的值:2.3.0
和 2.3.0 SP1
。如果我尝试像这样在开发控制台中查询 2.3.0
...
GET myindex/_search
{
"query": {
"match": {
"App Version": "2.3.0"
}
}
}
它returns所有记录,2.3.0 SP1
和2.3.0
的记录。由于我的最终目标是删除仅包含 App Version=2.3.0
的所有记录,因此我需要一些方法来过滤掉包含 SP1
的记录。我无法在任何地方找到强制完全匹配 整个字符串 而不仅仅是字符串的一部分的文档。有什么想法吗?
编辑:如果有帮助,我是 运行 Kibana 5.2.2。
对于完全匹配,您应该在非分析字段 (ES 2.X) 或关键字字段 (ES 5.X) 上使用术语查询。但我想您将不得不更改映射。
我也可以将两个或多个查询组合成 bool
query:
{
"query": {
"bool": {
"must": [
{
"match": {
"App Version": "2.3.0"
}
}
],
"must_not": [
{
"match": {
"App Version": "SP1"
}
}
]
}
}
}