Регулярный запрос "*" не найти ничего - PullRequest
0 голосов
/ 02 мая 2019

У меня есть существующий индекс с документами в нем (нашел мой 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": "*"
    }
  }
}

Заранее спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...