lucene 如何在ElasticSearch查询中使用通配符来跳过某些前缀值

vohkndzv  于 2022-11-07  发布在  Lucene
关注(0)|答案(1)|浏览(190)

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

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

“我如何用任何通配符或任何其他方式替换“/A/B/C,”因为我只有“UniqueValue.xml”作为此查询得输入.请提供此要求得修改后得搜索查询.谢谢.”

kh212irz

kh212irz1#

下列搜寻会传回source_id字段包含以UniqueValue.xml结尾之字词的文件。

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

请注意,通配符查询的开销很大。如果需要快速后缀搜索,可以在Map中添加一个包含reverse token过滤器的多字段。然后,可以在该反向字段上使用prefix queries

相关问题