Example usage for org.apache.solr.client.solrj.response UpdateResponse getStatus

List of usage examples for org.apache.solr.client.solrj.response UpdateResponse getStatus

Introduction

In this page you can find the example usage for org.apache.solr.client.solrj.response UpdateResponse getStatus.

Prototype

public int getStatus() 

Source Link

Usage

From source file:be.ibridge.kettle.trans.step.solrin.SolrIn.java

License:LGPL

private Value callHttpService(Row row) throws KettleException {

    UpdateResponse upres;

    try {//from   w  w w.  j  a v  a2 s.c om

        SolrInputDocument doc = new SolrInputDocument();
        logDetailed("Connecting to : [" + url + "]");

        for (int i = 0; i < data.argnrs.length; i++) {
            doc.addField(//meta.getArgumentField()[i],
                    meta.getArgumentParameter()[i], row.getValue(data.argnrs[i]).toString(false));

        }

        upres = server.add(doc);
        // logDetailed("ADD:" + upres.getResponse());
        if (upres == null) {
            throw new KettleException("Unable add document URL :" + url + ": null response");
        }
        if (upres == null && (upres.getStatus() != 0)) {
            throw new KettleException("Unable add document URL :" + url + ":" + upres.getResponse());
        }
        rowCount++;
        if (rowCount == 1000) {
            logDetailed("Commit ever 1000 records (hard coded)");
            server.commit();
            rowCount = 0;
        }

    }

    catch (Exception e)

    {
        throw new KettleException("Unable to get result from specified URL :" + url, e);
    }

    return new Value("0");
}

From source file:com.aboutdata.service.bean.SearchServiceImpl.java

@Override
public void delete(String id) {
    try {/*  w  w  w  .  ja  va  2s . c  o  m*/
        UpdateResponse response = solrServer.deleteById(id);
        logger.info("delete index status {}", response.getStatus());
    } catch (SolrServerException | IOException ex) {
        logger.error("delete index error {}", ex);
    }
}

From source file:com.inqool.dcap.integration.oai.harvester.SolrExternalSourcesIndexer.java

License:Apache License

public void update(ZdoModel model) throws IOException {
    SolrServer server = new HttpSolrServer(SOLR_EXTERNAL_SOURCES_ENDPOINT);

    String docId = model.get(ZdoTerms.oaiIdentifier);
    //First remove old doc
    try {/*  ww w  .  ja  va 2s  . c o m*/
        final UpdateResponse resp = server.deleteById(docId);
        if (resp.getStatus() == 0) {
            logger.trace("Remove request was successful for: {}", docId);
        } else {
            logger.error("Remove request has error, code: {} for pid: {}", resp.getStatus(), docId);
            return;
        }
    } catch (final SolrServerException | IOException e) {
        logger.error("Delete Exception: {}", e);
        throw new RuntimeException(e);
    }

    //Recursively dig to fedora and triplestore to construct whole solr document hierarchy
    SolrInputDocument solrInputDocument = recursivelyIndex(model);
    logger.trace("Created SolrInputDocument: {}", solrInputDocument);

    if (solrInputDocument == null)
        return; //this was probably a delete request, skip inserting

    //Then insert new docs
    try {
        logger.debug("Executing update of: {}...", store.removeTransactionFromUrl(model.getUrl()));
        final UpdateResponse resp = server.add(solrInputDocument);
        if (resp.getStatus() == 0) {
            logger.trace("Update request was successful for: {}", docId);
        } else {
            logger.error("Update request returned error code: {} for identifier: {}", resp.getStatus(), docId);
        }
        logger.trace("Received result from Solr request.");
    } catch (final SolrServerException | IOException e) {
        logger.error("Update exception: {}!", e);
        throw new RuntimeException(e);
    }
}

From source file:com.inqool.dcap.integration.oai.harvester.SolrExternalSourcesIndexer.java

License:Apache License

public Future<UpdateResponse> remove(final String id) {
    logger.debug("Received request for removal of: {}", id);
    try {//ww w .ja  v a2 s . com
        SolrServer server = new HttpSolrServer(SOLR_EXTERNAL_SOURCES_ENDPOINT);

        final UpdateResponse resp = server.deleteById(id);
        if (resp.getStatus() == 0) {
            logger.debug("Remove request was successful for: {}", id);
        } else {
            logger.error("Remove request has error, code: {} for pid: {}", resp.getStatus(), id);
        }
        return new AsyncResult<>(resp);
    } catch (final SolrServerException | IOException e) {
        logger.error("Delete Exception: {}", e);
        throw new RuntimeException(e);
    }
}

From source file:com.inqool.dcap.office.indexer.indexer.SolrBulkIndexer.java

License:Apache License

public void update(ModelTreeNode data) throws IOException {
    dataForSuggester.clear();//from  w  w  w .  ja  v  a  2 s. co  m
    SolrServer server = new HttpSolrServer(SOLR_MAIN_ENDPOINT);

    fetchOrgNames();

    String fedoraId = store.getOnlyIdFromUrl(data.getModel().getUrl());
    //First remove old doc
    try {
        //first delete children
        //not needed, if _root_ is indexed, children are deleted with parent
        final UpdateResponse resp0 = server.deleteByQuery("_root_:\"" + fedoraId + "\"");
        if (resp0.getStatus() == 0) {
            logger.debug("Remove request was successful for children of: {}", fedoraId);
        } else {
            logger.error("Remove request has error, code: {} for pid: {}", resp0.getStatus(), fedoraId);
            return;
        }

        //then delete the doc itself
        final UpdateResponse resp1 = server.deleteById(fedoraId);
        if (resp1.getStatus() == 0) {
            logger.debug("Remove request was successful for: {}", fedoraId);
        } else {
            logger.error("Remove request has error, code: {} for pid: {}", resp1.getStatus(), fedoraId);
            return;
        }

        //Also delete suggester data belonging to the document root
        SolrServer suggesterServer = new HttpSolrServer(SOLR_SUGGESTER_ENDPOINT);
        final UpdateResponse resp2 = suggesterServer.deleteByQuery("belongsTo:\"" + fedoraId + "\"");
        if (resp2.getStatus() == 0) {
            logger.debug("Remove request was successful for suggester data of: {}", fedoraId);
        } else {
            logger.error("Remove request for suggester data has error, code: {} for pid: {}", resp2.getStatus(),
                    fedoraId);
            return;
        }
    } catch (final SolrServerException | IOException e) {
        logger.error("Delete Exception: {}", e);
        throw new RuntimeException(e);
    }

    //Recursively dig to fedora and triplestore to construct whole solr document hierarchy
    SolrInputDocument solrInputDocument = recursivelyIndex(data);
    if (solrInputDocument == null)
        return; //this was probably a delete request, skip inserting
    String solrDoc = solrInputDocument.toString();
    if (solrDoc.length() > 500) {
        solrDoc = solrDoc.substring(0, 500);
    }
    logger.debug("Created SolrInputDocument: {}", solrDoc);

    //Then insert new docs
    try {
        final UpdateResponse resp = server.add(solrInputDocument);
        if (resp.getStatus() == 0) {
            logger.debug("Update request was successful for: {}", fedoraId);
        } else {
            logger.error("Update request returned error code: {} for identifier: {}", resp.getStatus(),
                    fedoraId);
        }
        logger.debug("Received result from Solr request.");
    } catch (final SolrServerException | IOException e) {
        logger.error("Update exception: {}!", e);
        throw new RuntimeException(e);
    }

    //And update also suggester data
    try {
        //For data for suggester, add info what root document they belong to, so that they can be also unindexed later with the document
        for (SolrInputDocument solrInputDoc : dataForSuggester) {
            solrInputDoc.addField("belongsTo", fedoraId);
        }
        SolrServer suggesterServer = new HttpSolrServer(SOLR_SUGGESTER_ENDPOINT);
        final UpdateResponse resp = suggesterServer.add(dataForSuggester);
        if (resp.getStatus() == 0) {
            logger.debug("Updating solr suggester data successful.");
        } else {
            logger.error("Update request for solr suggester data returned error code: {} for identifier: {}",
                    resp.getStatus(), fedoraId);
        }
    } catch (Exception e) {
        logger.error("Error updating solr sugesster data.", e);
    }
}

From source file:com.inqool.dcap.office.indexer.indexer.SolrBulkIndexer.java

License:Apache License

public Future<UpdateResponse> remove(final String id) {
    logger.debug("Received request for removal of: {}", id);
    try {/*  w w  w .j  a va2 s . c  o m*/
        SolrServer server = new HttpSolrServer(SOLR_MAIN_ENDPOINT);
        //first delete children
        //not needed, if _root_ is indexed, children are deleted with parent?
        //or now it doesn't work again? weird
        final UpdateResponse resp0 = server.deleteByQuery("_root_:\"" + id + "\"");
        if (resp0.getStatus() == 0) {
            logger.debug("Remove request was successful for children of: {}", id);
        } else {
            logger.error("Remove request has error, code: {} for pid: {}", resp0.getStatus(), id);
            return new AsyncResult<>(resp0);
        }

        final UpdateResponse resp1 = server.deleteById(id);
        if (resp1.getStatus() == 0) {
            logger.debug("Remove request was successful for: {}", id);
        } else {
            logger.error("Remove request has error, code: {} for pid: {}", resp1.getStatus(), id);
        }

        //Also delete suggester data belonging to the document root
        SolrServer suggesterServer = new HttpSolrServer(SOLR_SUGGESTER_ENDPOINT);
        final UpdateResponse resp2 = suggesterServer.deleteByQuery("belongsTo:\"" + id + "\"");
        if (resp2.getStatus() == 0) {
            logger.debug("Remove request was successful for suggester data of: {}", id);
        } else {
            logger.error("Remove request for suggester data has error, code: {} for pid: {}", resp2.getStatus(),
                    id);
        }
        return new AsyncResult<>(resp1);
    } catch (final SolrServerException | IOException e) {
        logger.error("Delete Exception: {}", e);
        throw new RuntimeException(e);
    }
}

From source file:com.k_joseph.apps.multisearch.solr.MultiSearchDataIndexer.java

License:Mozilla Public License

private void printFailureIfResponseIsNotZero(UpdateResponse resp) {
    if (resp.getStatus() != 0) {
        System.out.println("Some error has occurred, status is: " + resp.getStatus());
    }/*  w ww. j a v a2s.  c  o  m*/
}

From source file:com.mmj.app.lucene.solr.client.SolrClient.java

License:Open Source License

/**
 * /*ww  w. j ava2 s .c  o m*/
 */
public boolean addBeans(String corename, final List<?> beans) {
    final HttpSolrServer server = getOrCreateSolrServer(corename);
    Result result = exec(new Executor() {

        @Override
        public Result exec() throws SolrServerException, IOException {
            UpdateResponse addBeans = server.addBeans(beans);
            server.commit();
            return new Result().setSuccess(addBeans.getStatus() == ERROR_STATUS);
        }
    });
    return result.isSuccess();
}

From source file:com.mmj.app.lucene.solr.client.SolrClient.java

License:Open Source License

/**
 * /*  w w w. j a v  a  2s . c  o  m*/
 * 
 * @param corename
 * @return
 */
public boolean delAll(String corename) {
    final HttpSolrServer server = getOrCreateSolrServer(corename);
    Result result = exec(new Executor() {

        @Override
        public Result exec() throws SolrServerException, IOException {
            String query = BaseSolrQueryConvert.toAll().getQuery();
            UpdateResponse deleteByQuery = server.deleteByQuery(query);
            server.commit();
            return new Result().setSuccess(deleteByQuery.getStatus() == ERROR_STATUS);
        }
    });
    return result.isSuccess();
}

From source file:com.mmj.app.lucene.solr.client.SolrClient.java

License:Open Source License

/**
 * /*from   w  w  w .  j  a v a 2 s  .  co m*/
 */
public boolean del(String corename, final SolrQuery solrQuery) {
    final HttpSolrServer server = getOrCreateSolrServer(corename);
    final String query = solrQuery.getQuery();
    Result result = exec(new Executor() {

        @Override
        public Result exec() throws SolrServerException, IOException {
            UpdateResponse deleteByQuery = server.deleteByQuery(query);
            server.commit();
            return new Result().setSuccess(deleteByQuery.getStatus() == ERROR_STATUS);
        }
    });
    return result.isSuccess();
}