Class SolrIO


  • public class SolrIO
    extends java.lang.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.