查询 DSL 正则表达式模式不适用于某些字符串

Query DSL regexp pattern doesn't work with some strings

我有一个模式“.TP-V.”,其中 returns 字符串如“SSTP-VPN”。但是模式“.SSH.”没有return任何东西,尽管有像“core:Login:SSH:Cisco”这样的行。我不知道需要什么模式。

您需要使用 ".*SSH.*" 而不是 ".SSH."。 添加工作示例 -

索引数据:

{
    "name":"core:Login:SSH:Cisco"
}
{
    "name":"SSTP-VPN"
}

搜索查询:

{
  "query": {
    "regexp": {
      "name.keyword": {
        "value": ".*SSH.*"
      }
    }
  }
}

搜索结果:

"hits": [
      {
        "_index": "68015371",
        "_type": "_doc",
        "_id": "2",
        "_score": 1.0,
        "_source": {
          "name": "core:Login:SSH:Cisco"
        }
      }
    ]

搜索查询:

{
  "query": {
    "regexp": {
      "name.keyword": {
        "value": ".*TP-V.*"
      }
    }
  }
}