Package org.elasticsearch.action.bulk

Examples of org.elasticsearch.action.bulk.BulkRequestBuilder


        refreshRequired = true;
        indices.add(index.getIndexName());
      }
    }

    BulkRequestBuilder bulkRequestBuilder = searchClient.prepareBulk();

    long normTime = processActionsIntoQueries(bulkRequestBuilder, actions);

    if (bulkRequestBuilder.numberOfActions() > 0) {
      // execute the request
      long indexTime = System.currentTimeMillis();
      BulkResponse response = bulkRequestBuilder.setRefresh(false).get();

      indexTime = System.currentTimeMillis() - indexTime;

      long refreshTime = 0;
      if (refreshRequired) {
        refreshTime = this.refreshRequiredIndex(indices);
      }

      LOGGER.debug("-- submitted {} items with {}ms in normalization, {}ms indexing and {}ms refresh({}). Total: {}ms",
        bulkRequestBuilder.numberOfActions(), normTime, indexTime, refreshTime, indices, (normTime + indexTime + refreshTime));

      if (response.hasFailures()) {
        throw new IllegalStateException("Errors while indexing stack: " + response.buildFailureMessage());
      }
    }
View Full Code Here


  Profiling profiling = new Profiling(new Settings().setProperty(Profiling.CONFIG_PROFILING_LEVEL, Profiling.Level.FULL.name()));
  SearchClient searchClient = new SearchClient(new Settings(), profiling);

  @Test
  public void bulk() {
    BulkRequestBuilder bulkRequestBuilder = searchClient.prepareBulk();
    bulkRequestBuilder.add(new UpdateRequest(IndexDefinition.RULE.getIndexName(), IndexDefinition.RULE.getIndexName(), "rule1").doc(Collections.emptyMap()));
    bulkRequestBuilder.add(new DeleteRequest(IndexDefinition.RULE.getIndexName(), IndexDefinition.RULE.getIndexName(), "rule1"));
    bulkRequestBuilder.add(new IndexRequest(IndexDefinition.RULE.getIndexName(), IndexDefinition.RULE.getIndexName(), "rule1").source(Collections.emptyMap()));
    try {
      bulkRequestBuilder.get();

      // expected to fail because elasticsearch is not correctly configured, but that does not matter
      fail();
    } catch (IllegalStateException e) {
      assertThat(e.getMessage())
View Full Code Here

    // TODO assert profiling
  }

  @Test
  public void to_string() {
    BulkRequestBuilder bulkRequestBuilder = searchClient.prepareBulk();
    bulkRequestBuilder.add(new UpdateRequest(IndexDefinition.RULE.getIndexName(), IndexDefinition.RULE.getIndexName(), "rule1").doc(Collections.emptyMap()));
    bulkRequestBuilder.add(new DeleteRequest(IndexDefinition.RULE.getIndexName(), IndexDefinition.RULE.getIndexName(), "rule1"));
    bulkRequestBuilder.add(new IndexRequest(IndexDefinition.RULE.getIndexName(), IndexDefinition.RULE.getIndexName(), "rule1").source(Collections.emptyMap()));

    assertThat(bulkRequestBuilder.toString()).contains("ES bulk request for [Action 'UpdateRequest' for key 'rule1' on index 'rules' on type 'rules'],")
      .contains("[Action 'DeleteRequest' for key 'rule1' on index 'rules' on type 'rules'],")
      .contains("[Action 'IndexRequest' for key 'rule1' on index 'rules' on type 'rules'],");
  }
View Full Code Here

  @Test
  public void with_profiling_basic() {
    Profiling profiling = new Profiling(new Settings().setProperty(Profiling.CONFIG_PROFILING_LEVEL, Profiling.Level.BASIC.name()));
    SearchClient searchClient = new SearchClient(new Settings(), profiling);

    BulkRequestBuilder bulkRequestBuilder = searchClient.prepareBulk();
    bulkRequestBuilder.add(new UpdateRequest(IndexDefinition.RULE.getIndexName(), IndexDefinition.RULE.getIndexName(), "rule1").doc(Collections.emptyMap()));
    bulkRequestBuilder.add(new DeleteRequest(IndexDefinition.RULE.getIndexName(), IndexDefinition.RULE.getIndexName(), "rule1"));
    bulkRequestBuilder.add(new IndexRequest(IndexDefinition.RULE.getIndexName(), IndexDefinition.RULE.getIndexName(), "rule1").source(Collections.emptyMap()));
    try {
      bulkRequestBuilder.get();

      // expected to fail because elasticsearch is not correctly configured, but that does not matter
      fail();
    } catch (IllegalStateException e) {
      assertThat(e.getMessage())
View Full Code Here

  @Override
  public <P extends ParaObject> void indexAll(String appid, List<P> objects) {
    if (objects == null || StringUtils.isBlank(appid)) {
      return ;
    }
    BulkRequestBuilder brb = client().prepareBulk();
    for (ParaObject pObject : objects) {
      brb.add(client().prepareIndex(appid, pObject.getType(),
            pObject.getId()).setSource(Utils.getAnnotatedFields(pObject)));
    }
    brb.execute().actionGet();
    logger.debug("Search.indexAll() {}", objects.size());
  }
View Full Code Here

  @Override
  public <P extends ParaObject> void unindexAll(String appid, List<P> objects) {
    if (objects == null || StringUtils.isBlank(appid)) {
      return ;
    }
    BulkRequestBuilder brb = client().prepareBulk();
    for (ParaObject pObject : objects) {
      brb.add(client().prepareDelete(appid, pObject.getType(), pObject.getId()));
    }
    brb.execute().actionGet();
    logger.debug("Search.unindexAll() {}", objects.size());
  }
View Full Code Here

      }
      String newName = oldName + "_" + Utils.timestamp();

      logger.info("rebuildIndex(): {}", appid);

      BulkRequestBuilder brb = getClient().prepareBulk();
      BulkResponse resp = null;
      Pager pager = new Pager();

      List<ParaObject> list = dao.readPage(appid, null);

      if (!list.isEmpty()) {
        do {
          for (ParaObject obj : list) {
            brb.add(getClient().prepareIndex(appid, obj.getType(), obj.getId()).
                setSource(Utils.getAnnotatedFields(obj)));
            pager.setLastKey(obj.getId());
          }
          // bulk index 1000 objects
          if (brb.numberOfActions() > 100) {
            resp = brb.execute().actionGet();
            logger.info("rebuildIndex(): indexed {}, hasFailures: {}",
                brb.numberOfActions(), resp.hasFailures());
          }
        } while(!(list = dao.readPage(appid, pager)).isEmpty());
      }

      // anything left after loop? index that too
      if (brb.numberOfActions() > 0) {
        resp = brb.execute().actionGet();
        logger.info("rebuildIndex(): indexed {}, hasFailures: {}",
            brb.numberOfActions(), resp.hasFailures());
      }

      // switch to alias NEW_INDEX -> ALIAS, OLD_INDEX -> X
      getClient().admin().indices().prepareAliases().
          addAlias(newName, appid).
View Full Code Here

  @Override
  public <P extends ParaObject> void indexAll(String appid, List<P> objects) {
    if (objects == null || StringUtils.isBlank(appid)) {
      return ;
    }
    BulkRequestBuilder brb = client().prepareBulk();
    for (ParaObject pObject : objects) {
      brb.add(client().prepareIndex(appid, pObject.getType(),
            pObject.getId()).setSource(Utils.getAnnotatedFields(pObject)));
    }
    brb.execute().actionGet();
    logger.debug("Search.indexAll() {}", objects.size());
  }
View Full Code Here

  @Override
  public <P extends ParaObject> void unindexAll(String appid, List<P> objects) {
    if (objects == null || StringUtils.isBlank(appid)) {
      return ;
    }
    BulkRequestBuilder brb = client().prepareBulk();
    for (ParaObject pObject : objects) {
      brb.add(client().prepareDelete(appid, pObject.getType(), pObject.getId()));
    }
    brb.execute().actionGet();
    logger.debug("Search.unindexAll() {}", objects.size());
  }
View Full Code Here

        if (collection.isEmpty())
            return;

        String type = adapter.type();
        BulkRequestBuilder request = client().prepareBulk();

        for (T object : collection) {
            String id = adapter.id(object);
            try {
                XContentBuilder source = adapter.toJson(object);
                IndexRequestBuilder indexRequest = client().prepareIndex(indexName(type), type, id).setSource(source);
                request.add(indexRequest);

            } catch (IOException e) {
                log.error("The " + type + " of id " + id + " wasn't indexed", e);
            }
        }

        log.debug("Ready to index {} {} into Elasticsearch.", collection.size(), type);

        BulkResponse response = request.execute().actionGet();
        if (response.hasFailures()) {
            int errorCount = 0;
            for (BulkItemResponse itemResponse : response) {
                if (itemResponse.failed()) {
                    log.error("The " + type + " of id " + itemResponse.getId() + " wasn't indexed in bulk operation: " + itemResponse.getFailureMessage());
View Full Code Here

TOP

Related Classes of 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.