Безболезненный скрипт в Elasticsearch для манипулирования счетом с проверкой состояния - PullRequest
0 голосов
/ 17 октября 2019

Я пытаюсь написать безболезненный скрипт, который можно использовать для манипулирования счетом, полученным по запросу Elasticsearch. Это будет условная проверка оценки и переопределение оценки. Его псевдокод будет выглядеть примерно так:

          if(_score > 100){
             _score = 99.1;
          }

Попытка написать то же самое с помощью скрипта ниже

          {
             "script_score": {
                "script": {
                   "inline": "if(doc[_score].value > 100.00 ){_score=99.1}"
                 }
              }
           }

Но это не работает при получении ошибки, поскольку переменная _score доступна только для чтения.

        "lang": "painless",
        "caused_by": {
            "type": "illegal_argument_exception",
            "reason": "Variable [_score] is read-only."
         }

Есть ли другой способ сделать это? Любая помощь приветствуется. Заранее спасибо

...