我的目标是查找最近10条与MSG-1013匹配的消息ID的文档,并且Severity字段必须是info。两个条件都应该满足,匹配文本应该是准确的。我尝试过下面的搜索查询,但它没有给我预期的结果。我在这里做错了什么?
{
"size": 10,
"query": {
"bool": {
"must": [
{
"match": { "messageId": "MSG-1013" }
},
{
"match": { "Severity": "Info" }
}
]
}
}
}
答案 0 :(得分:0)
如果我理解正确,你想找到具有确切字段的前10个(最近)文档" messageId"和"严重性"。我认为,您不需要得分,因为您的分数似乎是文档时间戳或其他类似日期字段。为此,您可以将bool过滤器与排序查询结合使用。
{
"query": {
"bool": {
"filter": [
{ "term": { "messageId": "MSG-1013" } },
{ "term": { "Severity": "Info" } }
]
}
},
"sort" : [
{ "documentTimestamp" : {"order" : "desc"}}
],
"size": 10
}