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.
An instance of the MarkLogic controller service can be added and made available to processors via the following steps:
- Click anywhere on the NiFi canvas so that in the "Operate" panel on the left, a process group is shown as selected
- Click on the cog icon in the "Operate" panel
- Click on the "Controller Services" tab if it is not already selected
- Click on the plus icon on the right side of the "Controller Services" tab
- In the "Add Controller Service" dialog that appears, enter "MarkLogic"
- 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
ExtensionCallMarkLogic- call a REST extension service; deprecated in favor of
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