Class AbstractFieldScript

java.lang.Object
org.elasticsearch.script.AbstractFieldScript
Direct Known Subclasses:
AbstractLongFieldScript, BooleanFieldScript, DoubleFieldScript, IpFieldScript, StringFieldScript

public abstract class AbstractFieldScript extends Object
Abstract base for scripts to execute to build scripted fields. Inspired by AggregationScript but hopefully with less historical baggage.
  • Field Details

    • MAX_VALUES

      public static final int MAX_VALUES
      The maximum number of values a script should be allowed to emit.
      See Also:
      Constant Field Values
    • fieldName

      protected final String fieldName
    • leafSearchLookup

      protected final LeafSearchLookup leafSearchLookup
  • Constructor Details

    • AbstractFieldScript

      public AbstractFieldScript(String fieldName, Map<String,Object> params, SearchLookup searchLookup, org.apache.lucene.index.LeafReaderContext ctx)
  • Method Details

    • setDocument

      public final void setDocument(int docId)
      Set the document to run the script against.
    • getParams

      public final Map<String,Object> getParams()
      Expose the params of the script to the script itself.
    • getDoc

      public final Map<String,ScriptDocValues<?>> getDoc()
      Expose field data to the script as doc.
    • extractFromSource

      protected List<Object> extractFromSource(String path)
    • emitFromObject

      protected abstract void emitFromObject(Object v)
    • emitFromSource

      protected final void emitFromSource()
    • checkMaxSize

      protected final void checkMaxSize(int currentSize)
      Check if the we can add another value to the list of values.
      Parameters:
      currentSize - the current size of the list
    • execute

      public abstract void execute()