Преобразование предложения SQL Update в обновление ElasticSearch - PullRequest
0 голосов
/ 11 сентября 2018

Я бы хотел выполнить следующий запрос на обновление моего индекса ES, который называется "utils-ingest-history".Как бы я сделал ниже в ES?

UPDATE `avails-ingest-history` 
SET is_hidden = False
WHERE transaction_guid='XXX'

Вот то, что у меня есть до сих пор:

body = {
  "script": {
    "is_hidden": False
  },

  "query": {
    "match": {
      "guid": "xxx"
    }
  }
}

Однако я не был уверен насчет клавиши script илиточное совпадение использует термин match.

1 Ответ

0 голосов
/ 11 сентября 2018

Я не уверен, что это предпочтительный способ сделать это, но вот способ, которым я сейчас пользуюсь:

body = {
  "script": {
    "lang": "painless",
    "inline": "ctx._source.is_hidden=false"
  },

  "query": {
    "match": {
      "guid": "xxx"
    }
  }
}
self.es.update_by_query(body=body, doc_type='_doc', index='avails-ingest-history')

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

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