Class ScriptService

java.lang.Object
org.elasticsearch.script.ScriptService
All Implemented Interfaces:
Closeable, AutoCloseable, ClusterStateApplier, ScriptCompiler

public class ScriptService extends Object implements Closeable, ClusterStateApplier, ScriptCompiler
  • Field Details

    • SCRIPT_GENERAL_CACHE_SIZE_SETTING

      public static final Setting<Integer> SCRIPT_GENERAL_CACHE_SIZE_SETTING
    • SCRIPT_GENERAL_CACHE_EXPIRE_SETTING

      public static final Setting<org.elasticsearch.core.TimeValue> SCRIPT_GENERAL_CACHE_EXPIRE_SETTING
    • SCRIPT_MAX_SIZE_IN_BYTES

      public static final Setting<Integer> SCRIPT_MAX_SIZE_IN_BYTES
    • SCRIPT_GENERAL_MAX_COMPILATIONS_RATE_SETTING

      public static final Setting<ScriptCache.CompilationRate> SCRIPT_GENERAL_MAX_COMPILATIONS_RATE_SETTING
    • USE_CONTEXT_RATE_KEY_DEPRECATION_MESSAGE

      public static final String USE_CONTEXT_RATE_KEY_DEPRECATION_MESSAGE
    • SCRIPT_CACHE_SIZE_SETTING

      public static final Setting.AffixSetting<Integer> SCRIPT_CACHE_SIZE_SETTING
    • SCRIPT_CACHE_EXPIRE_SETTING

      public static final Setting.AffixSetting<org.elasticsearch.core.TimeValue> SCRIPT_CACHE_EXPIRE_SETTING
    • SCRIPT_MAX_COMPILATIONS_RATE_SETTING

      public static final Setting.AffixSetting<ScriptCache.CompilationRate> SCRIPT_MAX_COMPILATIONS_RATE_SETTING
    • SCRIPT_DISABLE_MAX_COMPILATIONS_RATE_SETTING

      public static final Setting<Boolean> SCRIPT_DISABLE_MAX_COMPILATIONS_RATE_SETTING
    • ALLOW_NONE

      public static final String ALLOW_NONE
      See Also:
    • TYPES_ALLOWED_SETTING

      public static final Setting<List<String>> TYPES_ALLOWED_SETTING
    • CONTEXTS_ALLOWED_SETTING

      public static final Setting<List<String>> CONTEXTS_ALLOWED_SETTING
  • Constructor Details

  • Method Details

    • isUseContextCacheSet

      public static boolean isUseContextCacheSet(Settings settings)
    • isImplicitContextCacheSet

      public static boolean isImplicitContextCacheSet(Settings settings)
    • contextDeprecationMessage

      public static String contextDeprecationMessage(Settings settings)
    • close

      public void close() throws IOException
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface Closeable
      Throws:
      IOException
    • getScriptContexts

      public Map<String,ScriptContext<?>> getScriptContexts()
      Returns:
      an unmodifiable Map of available script context names to ScriptContexts
    • compile

      public <FactoryType> FactoryType compile(Script script, ScriptContext<FactoryType> context)
      Compiles a script using the given context.
      Specified by:
      compile in interface ScriptCompiler
      Type Parameters:
      FactoryType - the class of the compiled Script factory
      Parameters:
      script - the Script to compile
      context - the ScriptContext defining how to compile the script
      Returns:
      a compiled script which may be used to construct instances of a script for the given context
    • isLangSupported

      public boolean isLangSupported(String lang)
    • isTypeEnabled

      public boolean isTypeEnabled(ScriptType scriptType)
    • isContextEnabled

      public boolean isContextEnabled(ScriptContext<?> scriptContext)
    • isAnyContextEnabled

      public boolean isAnyContextEnabled()
    • getScriptFromClusterState

      protected StoredScriptSource getScriptFromClusterState(String id)
    • putStoredScript

      public void putStoredScript(ClusterService clusterService, PutStoredScriptRequest request, ActionListener<AcknowledgedResponse> listener)
    • deleteStoredScript

      public void deleteStoredScript(ClusterService clusterService, DeleteStoredScriptRequest request, ActionListener<AcknowledgedResponse> listener)
    • getStoredScript

      public StoredScriptSource getStoredScript(ClusterState state, GetStoredScriptRequest request)
    • getContextInfos

      public Set<ScriptContextInfo> getContextInfos()
    • getScriptLanguages

      public ScriptLanguagesInfo getScriptLanguages()
    • stats

      public ScriptStats stats()
    • cacheStats

      public ScriptCacheStats cacheStats()
    • applyClusterState

      public void applyClusterState(ClusterChangedEvent event)
      Description copied from interface: ClusterStateApplier
      Called when a new cluster state (ClusterChangedEvent.state() needs to be applied. The cluster state to be applied is already committed when this method is called, so an applier must therefore be prepared to deal with any state it receives without throwing an exception. Throwing an exception from an applier is very bad because it will stop the application of this state before it has reached all the other appliers, and will likely result in another attempt to apply the same (or very similar) cluster state which might continue until this node is removed from the cluster.

      Cluster states are applied one-by-one which means they can be a performance bottleneck. Implementations of this method should therefore be fast, so please consider forking work into the background rather than doing everything inline.

      Specified by:
      applyClusterState in interface ClusterStateApplier