Package com.dotcms.repackage.org.elasticsearch.action.bulk

Examples of com.dotcms.repackage.org.elasticsearch.action.bulk.BulkRequestBuilder


      Runnable indexAction=new Runnable() {
            public void run() {
                try {
                    Client client=new ESClient().getClient();
                    BulkRequestBuilder req = (bulk==null) ? client.prepareBulk() : bulk;

                    // http://jira.dotmarketing.net/browse/DOTCMS-6886
                    // check for related content to reindex
                    List<Contentlet> contentToIndex=new ArrayList<Contentlet>();
                    contentToIndex.add(content);
                    if(deps)
                        contentToIndex.addAll(loadDeps(content));
                   
                    indexContentletList(req, contentToIndex,reindexOnly);
                                       
                    if(bulk==null && req.numberOfActions()>0)
                        req.execute().actionGet();

                } catch (Exception e) {
                    Logger.error(ESContentFactoryImpl.class, e.getMessage(), e);
                }
            }
View Full Code Here


     Runnable indexRunner = new Runnable() {
              public void run() {
                try {
                    String id=content.getIdentifier()+"_"+content.getLanguageId();
                    Client client=new ESClient().getClient();
                    BulkRequestBuilder bulk=client.prepareBulk();
                    IndiciesInfo info=APILocator.getIndiciesAPI().loadIndicies();

                    bulk.add(client.prepareDelete(info.live, "content", id));
                    if(info.reindex_live!=null)
                        bulk.add(client.prepareDelete(info.reindex_live, "content", id));

                    if(!onlyLive) {

                        // here we search for relationship fields pointing to this
                        // content to be deleted. Those contentlets are reindexed
                        // to avoid left those fields making noise in the index
                        for(Relationship rel : relationships) {
                            String q = "";
                            boolean isSameStructRelationship = rel.getParentStructureInode().equalsIgnoreCase(rel.getChildStructureInode());

                            if(isSameStructRelationship)
                                q = "+type:content +(" + rel.getRelationTypeValue() + "-parent:" + content.getIdentifier() + " " +
                                    rel.getRelationTypeValue() + "-child:" + content.getIdentifier() + ") ";
                            else
                                q = "+type:content +" + rel.getRelationTypeValue() + ":" + content.getIdentifier();

                            List<Contentlet> related = APILocator.getContentletAPI().search(q, -1, 0, null, APILocator.getUserAPI().getSystemUser(), false);
                            indexContentletList(bulk, related, false);
                        }

                        bulk.add(client.prepareDelete(info.working, "content", id));
                        if(info.reindex_working!=null)
                            bulk.add(client.prepareDelete(info.reindex_working, "content", id));
                    }

                      bulk.execute().actionGet();

                }
                catch(Exception ex) {
                    throw new ElasticSearchException(ex.getMessage(),ex);
                }
View Full Code Here

          while (br.ready())
            jsons.add(br.readLine());

        if (jsons.size() > 0) {
            try {
                BulkRequestBuilder req = client.prepareBulk();
                for (String raw : jsons) {
                  int delimidx=raw.indexOf(JSON_RECORD_DELIMITER);
                  if(delimidx>0) {
                    String id = raw.substring(0, delimidx);
                    String json = raw.substring(delimidx + JSON_RECORD_DELIMITER.length(), raw.length());
                    if (id != null)
                        req.add(new IndexRequest(index, type, id).source(json));
                  }
              }
                if(req.numberOfActions()>0) {
                    req.execute().actionGet();
                    //client.admin().indices().flush(new FlushRequest(index)).actionGet();
                }
            }
            finally {
                jsons.clear();
View Full Code Here

      List<Contentlet> cons = capi.findByStructure(struct.getInode(), APILocator.getUserAPI().getSystemUser(), false, limit, offset);
      if (cons.size() == 0) {
        break;
      }
      Client client = new ESClient().getClient();
      BulkRequestBuilder bulkRequest = client.prepareBulk();
      for (Contentlet c : cons) {

        //bulkRequest.add(client.prepareIndex(ESIndexAPI.ES_INDEX_NAME, type, c.getInode()).setSource(
        //    new ESMappingAPIImpl().toJson(c)));

      }
      BulkResponse bulkResponse = bulkRequest.execute().actionGet();
      if (bulkResponse.hasFailures()) {
        Logger.error(this.getClass(), bulkResponse.buildFailureMessage());
      }

   
View Full Code Here

                }
          }
          else if(!remoteQ.isEmpty()) {
              wait=false;
              Client client=new ESClient().getClient();
            BulkRequestBuilder bulk=client.prepareBulk();
            final ArrayList<IndexJournal<String>> recordsToDelete=new ArrayList<IndexJournal<String>>();
            while(!remoteQ.isEmpty()) {
                  IndexJournal<String> idx = remoteQ.removeFirst();
                  writeDocumentToIndex(bulk,idx);
                    recordsToDelete.add(idx);
                    if(reindexSleepDuringIndex){
                      try {
                    Thread.sleep(delay);
                  } catch (InterruptedException e) {
                    Logger.error(this, e.getMessage(), e);
                  }
                    }
            }
            HibernateUtil.closeSession();
                if(bulk.numberOfActions()>0) {
                    bulk.execute(new ActionListener<BulkResponse>() {
                        void deleteRecords() {
                            addRecordsToDelete(recordsToDelete);
                        }
                                public void onResponse(BulkResponse resp) {
                                    deleteRecords();
View Full Code Here

          contentlets=contAPI.search(query, limit, offset, "identifier", APILocator.getUserAPI().getSystemUser(), false);
            } catch (DotSecurityException e) {
                throw new RuntimeException(e);
            }

      BulkRequestBuilder bulk=new ESClient().getClient().prepareBulk();
      for(Contentlet cont : contentlets) {
          permissionCache.remove(cont.getPermissionId());
          indexAPI.addContentToIndex(cont, false, true, true, bulk);
      }
      if(bulk.numberOfActions()>0)
          bulk.execute().actionGet();

      offset=offset+limit;
    } while(contentlets.size()>0);
  }
View Full Code Here

TOP

Related Classes of com.dotcms.repackage.org.elasticsearch.action.bulk.BulkRequestBuilder

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.