当前位置: 首页 > 面试题库 >

如何在Elasticsearch中基于或条件创建多个正则表达式?

盖翰池
2023-03-14
问题内容

我想所有000ANT0BBNTA来自ID,是否有类似的东西而言,其与正则表达式的作品或有任何其他方式?否则,我将不得不针对每个项目(例如000ANT和0BBNTA)查询elasticsearch。请帮忙。

以下是我要尝试的一些东西,即1,000ANT但我也想有一个or条件,以便正则表达式也可以匹配0BBNTA

GET dc/ma/_search
{
   "fields": [
       "host"
    ],
   "filter": {
      "bool": {
         "must": [
            {
               "regexp": {
                  "_uid": {
                     "value": ".*000ANT.*"
                  }
               }
            }
         ]
      }
   }
}

问题答案:

使用should而不是must

{
   "fields": [
       "host"
    ],
   "filter": {
      "bool": {
         "should": [
            {
               "regexp": {
                  "_uid": {
                     "value": ".*000ANT.*"
                  }
               }
            },
            {
               "regexp": {
                  "_uid": {
                     "value": ".*0BBNTA.*"
                  }
               }
            }
         ]
      }
   }
}


 类似资料:
  • 我需要扫描日志文件以找到一些子字符串。 如何在单个正则表达式中组合以下条件: 查找子字符串“AAA”、“BBB”、“CCC”,但 我尝试了类似(?DDD | EEE | FFF)(AAA | BBB | CCC)的东西,但没有成功。 Java模式类应该支持正则表达式语法。 非常感谢。

  • 我试图为数据集创建多水平条形图。这些数据涉及跑步比赛的比赛时间。 Dataframe有以下列:名称、年龄组、完成时间、完成地点、家乡。下面是示例数据。 我想创建一个类似下图的条形图。每个年龄组将有一个条形图,最快的跑步者在图表的底部,跑步者的名字与城市和次数跑了比赛低于他们的名字。 我需要一个for循环还是一个简单的groupby工作?每个年龄组的数量和大小可以根据种族动态变化,因此它不是一个常数

  • 虽然这段代码似乎可以按照td行的预期更改$TDStyle,但它没有根据esleif条件适当地更新$Font和$Text。它似乎总是保持这些字符串相同,仅基于else条件,即使它不是真的。也许只是语法问题?我确信有一个更好的方法来做到这一点,但我有限的知识使我走到了这一步。有什么建议吗?

  • 问题内容: 我正在尝试解析标准输入,并提取与特定模式匹配的每个字符串,计算每个匹配的出现次数,并按字母顺序打印结果。这个问题似乎很适合Streams API,但是我找不到从Matcher创建匹配流的简洁方法。 我通过在匹配项上实现迭代器并将其包装到Stream中来解决此问题,但是结果不是很可读。如何在不引入其他类的情况下创建正则表达式匹配流? 问题答案: 很好,在Java 8中,它将提供由 定界符

  • 我正在尝试创建一个不允许某些字符串以“-”开头或结尾的regex表达式。到目前为止我已经尝试了这一个,但它在Safari上不起作用。

  • null 但它只适用于一个电话号码而不适用于多个电话号码