Обновление с помощью предварительно установленного скрипта в 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)
}
}