Поиск слова, указав URL в качестве входных данных из документа в эластичном поиске

#elasticsearch

#elasticsearch

Вопрос:

Я пишу запрос, чтобы получить результат слова из конкретного запроса. написал приведенный ниже, я не уверен, он не дает ожидаемого результата.

Я использовал поисковые запросы elasticsearch в качестве ссылки для получения результатов.

 GET index_xxxx/_search
{
    "query": {
    "bool": {
      "must": [
        { "match": { "url":  "xxxxxxxxxxxxxxx" }},
        { "match": { "content": "All"   }},
        {"bool": {
          "must": [
            {"match": {"url": ".*/why-drupal8/."}}
            ]
        }}
      ],
      "must_not": [{ "match": {"url": ".*/tag/drupal8/." }}
      ]
    }

  }
}
  

xxx -> Указывает «URL» и содержимое-> Указывает ключевое слово.
Ключевое слово необходимо искать в содержимом URL.

Из-за конфиденциальности я не разглашаю информацию и назван как xxx

Комментарии:

1. что такое тип URL? текст? ключевое слово?

2. Если мой ответ сработал, вы должны отметить как ответ моего друга.

Ответ №1:

Можете ли вы попробовать это?

 Get index_xxxx/_search
{
  "query": {
    "bool": {
      "must": [
        {
          "match": {
            "url": "xxxxxxxxxxxxxxx"
          }
        },
        {
          "match": {
            "content": "All"
          }
        },
        {
          "match": {
            "url": ".*/why-drupal8/."
          }
        }
      ],
      "must_not": [
        {
          "match": {
            "url": ".*/tag/drupal8/."
          }
        }
      ]
    }
  }
}
  

Комментарии:

1. Спасибо, у меня это сработало, когда я использовал match_phrase_prefix вместо match.