gpt4 book ai didi

elasticsearch - 包括所有非数字网站以进行弹性查询

转载 作者:行者123 更新时间:2023-12-03 01:20:43 25 4
gpt4 key购买 nike

我有此查询,按预期方式工作。唯一的问题是我想使用正则表达式,以便所有amazonaws.com网站都应包括在内。

{
"query": {
"bool": {
"should": [
{
"match_phrase": {
"sourceIPAddress": "1.179.67.49"
}
},
{
"match_phrase": {
"sourceIPAddress": "1.69.88.195"
}
},
{
"match_phrase": {
"sourceIPAddress": "config.amazonaws.com"
}
},
{
"match_phrase": {
"sourceIPAddress": "cloudtrail.amazonaws.com"
}
}
],
"minimum_should_match": 1
}
}
}

如何将此查询添加到上述查询中?
{  "query": {    "regexp": {      "sourceIPAddress": {        "value": "[a-zA-Z].+"      }    }  }}

正则表达式将包含查询的所有网站(即非数字)。我怎么提到* .amazonaws.com?

最佳答案

@Val是正确的-最好使用custom analyzers重新索引。重新索引将花费您一些时间和精力,但是您的查询将比下面的使用通配符查询的解决方案更快,因为使用前导*会很昂贵。请注意,我使用的是.keyword,因为未对其进行分析,并且您必须像正则表达式中那样转义点。

{
"query": {
"bool": {
"should": [
{
"match_phrase": {
"sourceIPAddress": "1.179.67.49"
}
},
{
"match_phrase": {
"sourceIPAddress": "1.69.88.195"
}
},
{
"wildcard": {
"sourceIPAddress.keyword": {
"value": "*\\.amazonaws\\.com*"
}
}
}
],
"minimum_should_match": 1
}
}
}

尝试一下,看看性能是否保持合理。如果不是,则必须重新编制索引。

关于elasticsearch - 包括所有非数字网站以进行弹性查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60293487/

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