Как написать регулярное выражение в elastisearch, чтобы оно давало мне URL с номерами? - PullRequest
0 голосов
/ 29 апреля 2019

Я пытаюсь написать запрос в Кибане, который работает с Elastisearch Query DSL. Основной фильтр выглядит следующим образом:

{
  "query": {
    "match": {
      "path": {
        "query": "/abc/",
        "type": "phrase"
      }
    }
  }
}

Теперь мне нужно написать запрос, чтобы он дал мне «путь», который имеет вид /abc/(0-9)/.

Я попробовал приведенную здесь ссылку, но она не имеет смысла для меня (я не очень хорошо разбираюсь в Elasticsearch): https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-regexp-query.html

Я бы хотел отфильтровать результаты, которые имеют форму пути = / abc / 12345 /

1 Ответ

1 голос
/ 29 апреля 2019

Этот RegEx может помочь вам сделать это:

\x22query\x22:\s\x22(\/.*)\x22

Он создает целевую группу захвата, где находится желаемый вывод, и вы можете вызвать его с помощью * 1006.* $ 1 .

enter image description here

При желании вы можете добавить дополнительные границы к вашему шаблону, например this RegEx :

\x22query\x22:\s\x22([\/a-z0-9]+)\x22

enter image description here

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