Example usage for org.apache.solr.client.solrj.io.stream SolrStream open

List of usage examples for org.apache.solr.client.solrj.io.stream SolrStream open

Introduction

In this page you can find the example usage for org.apache.solr.client.solrj.io.stream SolrStream open.

Prototype


public void open() throws IOException 

Source Link

Document

Opens the stream to a single Solr instance.

Usage

From source file:org.apache.drill.exec.store.solr.SolrRecordReader.java

License:Apache License

private int processSolrStream(SolrStream solrStream) {
    int recordCounter = 0;
    try {/*from  ww  w  . ja v  a2 s.  co m*/
        solrStream.open();
        Tuple solrDocument = null;

        while (true) {
            solrDocument = solrStream.read();
            if (solrDocument.EOF) {
                break;
            }
            for (String columns : vectors.keySet()) {
                ValueVector vv = vectors.get(columns);
                Object fieldValue = solrDocument.get(columns);
                processRecord(vv, fieldValue, recordCounter);
            }

            recordCounter++;
        }
    } catch (Exception e) {
        SolrRecordReader.logger.info("Error occured while fetching results from solr server " + e.getMessage());
        solrStreamReadFinished = true;

        return 0;
    } finally {
        try {
            solrStream.close();
            solrStream = null;
        } catch (IOException e) {
            solrStreamReadFinished = true;
            SolrRecordReader.logger
                    .debug("Error occured while fetching results from solr server " + e.getMessage());
        }
    }

    return recordCounter;
}