gpt4 book ai didi

amazon-web-services - 关键字的AWS ElasticSearch查询未获得预期的结果

转载 作者:行者123 更新时间:2023-12-02 23:47:15 26 4
gpt4 key购买 nike

我有一个ElasticSearch查询,看起来像:

{
"query": {
"constant_score": {
"filter": {
"bool": {
"should": [
{
"wildcard": {
"Message.keyword": "*System.Net.WebClient).DownloadString(*"
}
},
{
"wildcard": {
"Message.keyword": "*system.net.webclient).downloadfile(*"
}
}
]
}
}
}
}
}

在我的索引中有一个文档,其中包括:
message:Engine state is changed from None to Available. Details: NewEngineState=Available PreviousEngineState=None SequenceNumber=13 HostName=ConsoleHost HostVersion=5.1.18362.628 HostId=3dd1a50a-cc15-45e0-bf63-4456d556fb67 HostApplication=powershell.exe -command PowerShell -ExecutionPolicy bypass -noprofile -windowstyle hidden -command (New-Object System.Net.WebClient).DownloadFile('https://drive.google.com/uc?export=download EngineVersion=5.1.18362.628 RunspaceId=de762b62-056c-4be1-90bf-a12cfe6fbc72

如您所见,它包括:

(New-Object System.Net.WebClient).DownloadFile('https:....



似乎这里的过滤器应该与消息匹配,但是当我通过Kibana执行查询时,即使我只是通过查询 *.,即使我可以通过Kibana UI在索引内看到上面的文档,也没有任何匹配项

我认为这可能是因为上面的查询正在查询 Message.keyword吗?如何获取成功对上面的文档进行 hit

编辑:

映射: https://pastebin.com/cWN4jF3d

样本数据: https://pastebin.com/SyErqaG8

最佳答案

查询不返回结果的原因有两个:

  • 映射中的字段名称为message,而在查询中,您使用的是Message
  • 数据类型为keyword的字段按原样索引数据。这意味着它也会区分大小写。您共享的文档包含System.Net.WebClient).DownloadFile(文本,您可以在其中看到大写字母的字符,而您希望与"*system.net.webclient).downloadfile(*"匹配的搜索查询包含所有小写字母的字符。

  • 因此,查询应为:
    {
    "query": {
    "constant_score": {
    "filter": {
    "bool": {
    "should": [
    {
    "wildcard": {
    "message.keyword": "*System.Net.WebClient).DownloadString(*"
    }
    },
    {
    "wildcard": {
    "message.keyword": "*System.Net.WebClient).DownloadFile(*"
    }
    }
    ]
    }
    }
    }
    }
    }

    关于amazon-web-services - 关键字的AWS ElasticSearch查询未获得预期的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60346295/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com