Class SolrIO

java.lang.Object
org.apache.beam.sdk.io.solr.SolrIO

public class SolrIO extends Object
Transforms for reading and writing data from/to Solr.

Reading from Solr

SolrIO.read() returns a bounded PCollection<SolrDocument> representing Solr documents.

To configure the read(), you have to provide a connection configuration containing the Zookeeper address of the Solr cluster, and the collection name. The following example illustrates options for configuring the source:


 SolrIO.ConnectionConfiguration conn = SolrIO.ConnectionConfiguration.create("127.0.0.1:9983");
 // Optionally: .withBasicCredentials(username, password)

 PCollection<SolrDocument> docs = p.apply(
     SolrIO.read().from("my-collection").withConnectionConfiguration(conn));

 

You can specify a query on the read() using withQuery().

Writing to Solr

To write documents to Solr, use SolrIO.write(), which writes Solr documents from a PCollection<SolrInputDocument> (which can be bounded or unbounded).

To configure SolrIO.write(), similar to the read, you have to provide a connection configuration, and a collection name. For instance:


 PCollection<SolrInputDocument> inputDocs = ...;
 inputDocs.apply(SolrIO.write().to("my-collection").withConnectionConfiguration(conn));

 

When writing it is possible to customize the retry behavior if an error is encountered. By default this is disabled and only one attempt will be made.