ElasticSearch, УДАЛИТЬ документы по точному совпадению (5.1) - PullRequest
0 голосов
/ 27 апреля 2018

Мне нужно удалить информацию, которая точно соответствует слову ключей в запросе эластичного поиска, но у меня возникли проблемы с запросом, и я удалил информацию с тем же префиксом. Что мне нужно сделать, чтобы исправить мой скрипт и удалить только правильные? (точное совпадение при двух условиях)

curl -X POST elasticDomain/index/_delete_by_query -d '{"query": {
"bool": {
  "must": [
    {
      "term": {
        "component.name": {
          "query" : "prefix-component-one"
        }
      }
    },
    {
      "term": {
        "enviroment": "qa"
      }
    }
  ]
}}}'

Пример данных, когда я хочу удалить только информацию о первом компоненте:

{
  "took": 0,
  "timed_out": false,
  "_shards": {
    "total": 5,
    "successful": 5,
    "failed": 0
  },
  "hits": {
    "total": 2,
    "max_score": 1,
    "hits": [
      {
        "_index": "index",
        "_type": "event",
        "_id": "c04b0f94-4995-11e8-a9f5-a22f517abdda",
        "_score": 1,
        "_source": {
          "component": {
            "name": "prefix-component-two",
            "qualifier": "TRK"
          },

          "enviroment": "history",
          "timestamp": "2018-04-26T16:06:54.000Z"
        }
      },
      {
        "_index": "index",
        "_type": "event",
        "_id": "bf80d63e-4995-11e8-a9f5-a22f517abdda",
        "_score": 1,
        "_source": {
          "component": {
            "name": "prefix-component-one",
            "qualifier": "TRK"
          },

          "enviroment": "qa",
          "timestamp": "2018-04-26T16:06:54.000Z"
        }
      }
    ]
  }
}

1 Ответ

0 голосов
/ 27 апреля 2018

я исправил с match_phrase

curl -X POST elasticDomain/index/_delete_by_query -d '{"query": {
"bool": {
  "must": [
    {
      "match_phrase": {
        "component.name": {
          "query" : "prefix-component-one"
        }
      }
    },
    {
      "term": {
        "enviroment": "qa"
      }
    }
  ]
}}}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...