如何在弹性搜索查询中使用通配符来跳过一些前缀值

How to use Wildcards in Elastic search query to skip some prefix values

“我在 elasticsearch 集群 GET 请求中搜索基于 sourceID 标签的值:-”/A/B/C/UniqueValue.xml”,搜索查询如下所示:-”

{
  "query": {
    "bool": {
      "must": [
               {
                "term": {
                "source_id": {
                "value": "/A/B/C/UniqueValue.xml"
               }
              }
             }
            ]
           }
          }
       }

“我怎样才能用任何通配符或任何其他方式替换“/A/B/C”,因为我只有“UniqueValue.xml”作为此查询的输入。有人可以提供修改后的搜索查询吗对于这个要求?谢谢。"

以下搜索 returns 文档,其中 source_id 字段包含以 UniqueValue.xml 结尾的术语。

{
    "query": {
        "wildcard": {
            "source_id": {
                "value": "*UniqueValue.xml"
            }
        }
    }
}

请注意,通配符查询的开销很大。如果您需要快速后缀搜索,您可以在映射中添加一个多字段,其中在该反向字段上包含一个 reverse token filter. Then you can use prefix queries