我有一个奇怪的问题,这个查询,事实上,超出预期的结果,它似乎提取的事件与rule.id:“100002”。
有人能告诉我我哪里错了吗?
{
"query":{
"bool":{
"should":[
{
"wildcard":{
"rule.description":{
"value":"*PNP device*"
}
}
},
{
"match_phrase":{
"rule.id":{
"query":"111000",
"slop":0,
"zero_terms_query":"NONE",
"boost":1
}
}
},
{
"match_phrase":{
"rule.id":{
"query":"111001",
"slop":0,
"zero_terms_query":"NONE",
"boost":1
}
}
},
{
"range":{
"timestamp":{
"gte":"now-10m",
"lte":"now",
"format":"strict_date_optional_time"
}
}
}
],
"adjust_pure_negative":true,
"minimum_should_match":"1",
"boost":1
}
}
}
目标是通过检查字符串“PNP device”是否存在于rule.description字段中来提取与111000事件或111001事件匹配的记录
1条答案
按热度按时间yqyhoc1h1#
由于所有约束都在
bool/should
中,并且minimum_should_match: 1
,这意味着您将获得匹配至少一个这些约束的所有文档。您正在查找的查询可能是这样的: