【问题标题】:ElasticSearch Painless Scripts - Field Context does not allow Text Fields - What context adds just Text Fields?ElasticSearch Painless Scripts - 字段上下文不允许文本字段 - 什么上下文只添加文本字段?
【发布时间】:2021-12-17 19:43:09
【问题描述】:

我正在评估我是否可以安全地为我们的一个应用程序使用无痛脚本。我们只对非常严格的环境感到舒服。 “字段”上下文似乎是最安全的,因为它只允许对文档进行只读。但是,我希望能够包含针对文本字段的查询,但“默认情况下,文档值不能用作文本​​字段”。有谁知道如何稍微放宽这个上下文以允许文本字段?

谢谢

【问题讨论】:

  • 如果您能提供更多关于您想要实现的目标的背景信息,将会很有帮助。你确定脚本是唯一的方法吗?
  • 是的。假设脚本是一项要求。我以为我很清楚我要求非常具体地减少对无痛“现场”上下文的约束。谢谢!
  • 这里有点矛盾......既然您正在“评估是否可以安全地使用无痛脚本”,那么脚本如何成为“要求”?只是好奇

标签: elasticsearch elasticsearch-painless


【解决方案1】:

您可以通过 params['_source'] 访问脚本中的 text 字段(在“字段”上下文中),而不是 text 字段不可用的文档值。

例如,要计算 text 字段的长度,您可以使用以下脚本:

params._source['my-text-field'].length()

params._source['my-text-field'] 实际上是源文档中存在的原始字符串。

【讨论】:

  • 这个运气好吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-10-15
  • 2012-03-25
  • 1970-01-01
  • 1970-01-01
  • 2013-12-22
  • 2011-01-01
相关资源
最近更新 更多