QuerySolr

Description:

Queries Solr and outputs the results as a FlowFile in the format of XML or using a Record Writer

Tags:

Apache, Solr, Get, Query, Records

Properties:

In the list below, the names of required properties appear in bold. Any other properties (not in bold) are considered optional. The table also indicates any default values, and whether a property supports the NiFi Expression Language.

Display NameAPI NameDefault ValueAllowable ValuesDescription
Solr TypeSolr TypeStandard
  • Cloud A SolrCloud instance.
  • Standard A stand-alone Solr instance.
The type of Solr instance, Cloud or Standard.
Solr LocationSolr LocationThe Solr url for a Solr Type of Standard (ex: http://localhost:8984/solr/gettingstarted), or the ZooKeeper hosts for a Solr Type of Cloud (ex: localhost:9983).
Supports Expression Language: true (will be evaluated using variable registry only)
CollectionCollectionThe Solr collection name, only used with a Solr Type of Cloud
Supports Expression Language: true (will be evaluated using flow file attributes and variable registry)
Return Typereturn_typeXML
  • XML
  • Records
Output format of Solr results. Write Solr documents to FlowFiles as XML or using a Record Writer
Record WriterRecord WriterController Service API:
RecordSetWriterFactory
Implementations: FreeFormTextRecordSetWriter
CSVRecordSetWriter
ParquetRecordSetWriter
RecordSetWriterLookup
ScriptedRecordSetWriter
XMLRecordSetWriter
JsonRecordSetWriter
AvroRecordSetWriter
The Record Writer to use in order to write Solr documents to FlowFiles. Must be set if "Records" is used as return type.
Supports Expression Language: true (will be evaluated using flow file attributes and variable registry)
Solr Querysolr_param_query*:*Solr Query, e. g. field:value
Supports Expression Language: true (will be evaluated using flow file attributes and variable registry)
Request Handlersolr_param_request_handler/selectDefine a request handler here, e. g. /query
Supports Expression Language: true (will be evaluated using flow file attributes and variable registry)
Field Listsolr_param_field_listComma separated list of fields to be included into results, e. g. field1,field2
Supports Expression Language: true (will be evaluated using flow file attributes and variable registry)
Sorting of result listsolr_param_sortComma separated sort clauses to define the sorting of results, e. g. field1 asc, field2 desc
Supports Expression Language: true (will be evaluated using flow file attributes and variable registry)
Start of resultssolr_param_startOffset of result set
Supports Expression Language: true (will be evaluated using flow file attributes and variable registry)
Rowssolr_param_rowsNumber of results to be returned for a single request
Supports Expression Language: true (will be evaluated using flow file attributes and variable registry)
Total amount of returned resultsamount_documents_to_returnOnly top results
  • Entire results
  • Only top results
Total amount of Solr documents to be returned. If this property is set to "Only top results", only single requests will be sent to Solr and the results will be written into single FlowFiles. If it is set to "Entire results", all results matching to the query are retrieved via multiple Solr requests and returned in multiple FlowFiles. For both options, the number of Solr documents to be returned in a FlowFile depends on the configuration of the "Rows" property
Kerberos Credentials Servicekerberos-credentials-serviceController Service API:
KerberosCredentialsService
Implementation: KeytabCredentialsService
Specifies the Kerberos Credentials Controller Service that should be used for authenticating with Kerberos
Kerberos User Servicekerberos-user-serviceController Service API:
KerberosUserService
Implementations: KerberosTicketCacheUserService
KerberosKeytabUserService
KerberosPasswordUserService
Specifies the Kerberos User Controller Service that should be used for authenticating with Kerberos
Kerberos Principalkerberos-principalThe principal to use when specifying the principal and password directly in the processor for authenticating to Solr via Kerberos.
Supports Expression Language: true (will be evaluated using variable registry only)
Kerberos Passwordkerberos-passwordThe password to use when specifying the principal and password directly in the processor for authenticating to Solr via Kerberos.
Sensitive Property: true
Basic Auth UsernameUsernameThe username to use when Solr is configured with basic authentication.
Supports Expression Language: true (will be evaluated using variable registry only)
Basic Auth PasswordPasswordThe password to use when Solr is configured with basic authentication.
Sensitive Property: true
Supports Expression Language: true (will be evaluated using variable registry only)
SSL Context ServiceSSL Context ServiceController Service API:
SSLContextService
Implementations: StandardSSLContextService
StandardRestrictedSSLContextService
The Controller Service to use in order to obtain an SSL Context. This property must be set when communicating with a Solr over https.
Solr Socket TimeoutSolr Socket Timeout10 secondsThe amount of time to wait for data on a socket connection to Solr. A value of 0 indicates an infinite timeout.
Solr Connection TimeoutSolr Connection Timeout10 secondsThe amount of time to wait when establishing a connection to Solr. A value of 0 indicates an infinite timeout.
Solr Maximum ConnectionsSolr Maximum Connections10The maximum number of total connections allowed from the Solr client to Solr.
Solr Maximum Connections Per HostSolr Maximum Connections Per Host5The maximum number of connections allowed from the Solr client to a single Solr host.
ZooKeeper Client TimeoutZooKeeper Client Timeout10 secondsThe amount of time to wait for data on a connection to ZooKeeper, only used with a Solr Type of Cloud.
ZooKeeper Connection TimeoutZooKeeper Connection Timeout10 secondsThe amount of time to wait when establishing a connection to ZooKeeper, only used with a Solr Type of Cloud.

Dynamic Properties:

Supports Sensitive Dynamic Properties: No

Dynamic Properties allow the user to specify both the name and value of a property.

NameValueDescription
A Solr request parameter nameA Solr request parameter valueThese parameters will be passed to Solr on the request
Supports Expression Language: false

Relationships:

NameDescription
statsStats about Solr index
resultsResults of Solr queries
facetsResults of faceted search
failureFailure relationship
originalOriginal flowfile

Reads Attributes:

None specified.

Writes Attributes:

NameDescription
solr.connectSolr connect string
solr.collectionSolr collection
solr.queryQuery string sent to Solr
solr.cursor.markCursor mark can be used for scrolling Solr
solr.status.codeStatus code of Solr request. A status code of 0 indicates that the request was successfully processed
solr.query.timeThe elapsed time to process the query (in ms)
solr.startSolr start parameter (result offset) for the query
solr.rowsNumber of Solr documents to be returned for the query
solr.number.resultsNumber of Solr documents that match the query
mime.typeThe mime type of the data format
querysolr.exeption.classThe Java exception class raised when the processor fails
querysolr.exeption.messageThe Java exception message raised when the processor fails

State management:

This component does not store state.

Restricted:

This component is not restricted.

Input requirement:

This component allows an incoming relationship.

System Resource Considerations:

None specified.