Обновление с помощью предварительно установленного скрипта в asticsearch

Я хочу использовать сценарии способом [ https://www.elastic.co/blog/running-groovy-scripts-without-dynamic-scripting ] в целях безопасности.

Я попробовал это в sense(плагин Chrome), и он работает хорошо. Хотите знать, как этого добиться в astic4s.

Например, я хочу удалить поле из документа и код так:

def replaceWithId(alarmId: String, fieldName: String, fieldValue: Map[String, Any]) = {
client.execute {
  update id alarmId in IndexType script """{"file":"removeOperationField"}"""

}}

но это не удалось.

1 ответ

Решение

Вам нужно установить тип сценария, а не включать его в json явно, например:

def replaceWithId(alarmId: String) = {
  client.execute {
    update id alarmId in IndexType script("scriptname", ScriptType.File)
  }
}
Другие вопросы по тегам