Connector Features

The MarkLogic NiFi connector consists of two types of NiFi components - a controller service, and multiple processors. The controller service defines the details for connecting to a MarkLogic server, while the processors perform a variety of functions focused primarily on moving data in to and out of MarkLogic.

Controller Service

An instance of the MarkLogic controller service can be added and made available to processors via the following steps:

  1. Click anywhere on the NiFi canvas so that in the "Operate" panel on the left, a process group is shown as selected
  2. Click on the cog icon in the "Operate" panel
  3. Click on the "Controller Services" tab if it is not already selected
  4. Click on the plus icon on the right side of the "Controller Services" tab
  5. In the "Add Controller Service" dialog that appears, enter "MarkLogic"
  6. Select the 'DefaultMarkLogicDatabaseClientService' item that appears

Details on each property of the controller service can be viewed by hovering over the question mark icon for each property.


The list of processors in the MarkLogic NiFi connector can be viewed by dragging a new processor onto the NiFi canvas and entering the word "MarkLogic" into the search box that NiFi displays. The "Add Processor" dialog in NiFi will show a description for each processor. Once a processor has been added to the canvas, full details can be viewed by right-clicking on the processor and selecting "View Usage".

As an overview of the functionality available via the processors, each is listed below with a description. As noted above, for full details, use the "View Usage" feature within NiFi.

  • ApplyTransformMarkLogic - apply a REST transform against every document matching a query
  • CallRestExtensionMarkLogic - call a REST extension service
  • DeleteMarkLogic - delete each document matching a query
  • ExecuteScriptMarkLogic - execute a JavaScript or XQuery script
  • ExtensionCallMarkLogic - call a REST extension service; deprecated in favor of CallRestExtensionMarkLogic
  • PutMarkLogic - write new documents to MarkLogic
  • PutMarkLogicRecord - write new documents to MarkLogic by first splitting a FlowFile into a set of documents
  • QueryMarkLogic - query for and return any of documents, URIs, and metadata from MarkLogic
  • QueryRowsMarkLogic - query for rows in MarkLogic via an Optic plan
  • RunFlowMarkLogic - run a Data Hub Framework flow in MarkLogic