正则表达式查询“ *”未找到任何内容

时间:2019-05-02 10:06:35

标签: elasticsearch

我有一个包含文档的现有索引(位于我的match_all中),我希望从该索引开始就匹配标签。我目前正在尝试使用正则表达式查询来使用“ ^”锚,但是,即使是最简单的查询也找不到任何内容:

GET my-index/_doc/_search
{
  "query": {
    "regexp": {
      "label": "*"
    }
  }
}

给出

{
  "took": 0,
  "timed_out": false,
  "_shards": {
    "total": 5,
    "successful": 5,
    "skipped": 0,
    "failed": 0
  },
  "hits": {
    "total": 0,
    "max_score": null,
    "hits": []
  }
}

我尝试了其他一些用“ *”表示的东西,但是没有任何效果。此请求有什么问题?

要测试这是否是分析仪问题,我尝试创建一个未被分析的新子字段,但是它仍然不起作用:

PUT my-index/_doc/_mapping
{
  "properties": {
    "label": {
      "type": "text",
      "fields": {
        "raw": {
          "type": "text",
          "analyzer": "keyword"
        }
      }
    }
  }
}

之后

POST my-index/_update_by_query

GET my-index/_doc/_search
{
  "query": {
    "regexp": {
      "label.raw": "*"
    }
  }
}

谢谢!

0 个答案:

没有答案