Skip to main content

JavaScript Index Stage Global Variables

JavaScript is a lightweight scripting language. In a JavaScript stage, Fusion uses the Nashorn engine, which implements ECMAScript version 5.1. What a JavaScript program can do depends on the container in which it runs. For a JavaScript Index stage, the container is a Fusion index pipeline. The following global pipeline variables are available:

Syntax Variants

JavaScript stages can be written using function syntax. With function syntax, global variables are passed as function parameters.
Support for legacy syntax was removed in Fusion 5.8.

Function Syntax

Function syntax is used for moderately complex tasks.
ImportantFunction syntax is used for the examples in this document.

Advanced Syntax

Advanced syntax is used for complex tasks and when multiple functions are needed.

JavaScript Use

The JavaScript in a JavaScript Index stage must return either a single document or an array of documents. This can be accomplished by either:
  • a series of statements where the final statement evaluates to a document or array of documents
  • a function that returns a document or an array of documents
All pipeline variables referenced in the body of the JavaScript function are passed in as arguments to the function. For example, in order to access the PipelineDocument in global variable ‘doc’, the JavaScript function is written as follows:
The allowed set of function declarations are:
The order of these arguments is according to the (estimated) frequency of use. The assumption is that most processing only requires access to the document object itself, and the next-most frequent type of processing requires only the document and read-only access of some context parameters. If you need to reference the solrServerFactory global variable, you must use the 5-arg function declaration. In order to use other functions in your JavaScript program, you can define and use them, as long as the final statement in the program returns a document or documents.

Global variable logger

The logs are output to the indexing service logs for custom index stages. Access the Log Viewer and filter on this service to view the information.

JavaScript Query Stage Global Variables

JavaScript is a lightweight scripting language. In a JavaScript stage, Fusion uses the Nashorn engine, which implements ECMAScript version 5.1. What a JavaScript program can do depends on the container in which it runs. For a JavaScript Query stage, the container is a Fusion query pipeline. The following global pipeline variables are available:
See Custom JavaScript Query Stage Examples for more information.

Syntax Variants

JavaScript stages can be written using function syntax. With function syntax, global variables are passed as function parameters.
Support for legacy syntax was removed in Fusion 5.8.

Function Syntax

ImportantFunction syntax is used for the examples in this document.

Global variable logger

The logs are output to the query service logs for custom query stages. Access the Log Viewer and filter on this service to view the information.