public void putDocuments(IndexType indexType, Map<String, Object>... docs) { try { BulkRequestBuilder bulk = SHARED_NODE.client().prepareBulk() .setRefreshPolicy(REFRESH_IMMEDIATE); for (Map<String, Object> doc : docs) { bulk.add(new IndexRequest(indexType.getIndex(), indexType.getType()) .source(doc)); } BulkResponse bulkResponse = bulk.get(); if (bulkResponse.hasFailures()) { throw new IllegalStateException(bulkResponse.buildFailureMessage()); } } catch (Exception e) { throw Throwables.propagate(e); } }
public void putDocuments(IndexType indexType, BaseDoc... docs) { try { BulkRequestBuilder bulk = SHARED_NODE.client().prepareBulk() .setRefreshPolicy(REFRESH_IMMEDIATE); for (BaseDoc doc : docs) { bulk.add(new IndexRequest(indexType.getIndex(), indexType.getType(), doc.getId()) .parent(doc.getParent()) .routing(doc.getRouting()) .source(doc.getFields())); } BulkResponse bulkResponse = bulk.get(); if (bulkResponse.hasFailures()) { throw new IllegalStateException(bulkResponse.buildFailureMessage()); } } catch (Exception e) { throw Throwables.propagate(e); } }
public Object execute(String options) throws ElasticSearchException { try { if(options != null) { if(options.indexOf("refresh=true") > 0) { bulkRequestBuilder.setRefreshPolicy("true"); } else if(options.indexOf("refresh=wait_for") > 0){ bulkRequestBuilder.setRefreshPolicy("wait_for"); } else if(options.indexOf("refresh=false") > 0){ bulkRequestBuilder.setRefreshPolicy("false"); } else if(options.indexOf("refresh") > 0){ bulkRequestBuilder.setRefreshPolicy("true"); } } BulkResponse bulkResponse = bulkRequestBuilder.execute().actionGet(); if (bulkResponse.hasFailures()) { throw new EventDeliveryException(bulkResponse.buildFailureMessage()); } return bulkResponse; } finally { } } private void init(){
@Override public List<String> deleteAllIds(final Collection<String> ids) { if (ids.isEmpty()) { return ImmutableList.of(); } final BulkRequestBuilder bulk = client .prepareBulk() .setRefreshPolicy(policy.get()); for (final String id : ids) { bulk.add(client.prepareDelete(index, type, id)); } final BulkResponse response = bulk.execute().actionGet(); final ImmutableList.Builder<String> builder = ImmutableList.builder(); for (final BulkItemResponse item : response.getItems()) { builder.add(item.getId()); } return builder.build(); }
@Override public void index(List<KObject> elements) { elements.forEach(kObject -> this.deleteIfExists(kObject)); BulkRequestBuilder bulk = this.getClient().prepareBulk(); elements.forEach(elem -> { MetaObject metaObject = fieldFactory.build(elem); elasticSearchMappingStore.updateMetaModel(elem, metaObject); bulk.add(this.createIndexRequest((ElasticMetaObject) metaObject)); }); bulk.setRefreshPolicy(WriteRequest.RefreshPolicy.IMMEDIATE) .execute().actionGet(); }
@Override public List<T> saveAll(final List<T> entities) { if(entities.isEmpty()) { return entities; } final BulkRequestBuilder bulk = client .prepareBulk() .setRefreshPolicy(policy.get()); for(final T entity : entities) { final String source = serializer.apply(entity); final IndexRequestBuilder request = client .prepareIndex(index, type) .setSource(source, JSON); ofNullable(emptyToNull(entity.getId())).ifPresent(request::setId); bulk.add(request); } final BulkResponse response = bulk.execute().actionGet(); final BulkItemResponse[] items = response.getItems(); final ImmutableList.Builder<T> saved = ImmutableList.builder(); for(int i=0; i<items.length; i++) { final BulkItemResponse item = items[i]; @SuppressWarnings("unchecked") final T entity = (T) entities.get(i).withId(item.getId()); saved.add(entity); } return saved.build(); }
@Override public void index(List<KObject> elements) { elements.forEach(kObject -> this.deleteIfExists(kObject)); BulkRequestBuilder bulk = this.getClient().prepareBulk(); elements.forEach(elem -> { MetaObject metaObject = fieldFactory.build(elem); elasticSearchMappingStore.updateMetaModel(elem, metaObject); bulk.add(this.createIndexRequest((ElasticMetaObject) metaObject)); }); bulk.setRefreshPolicy(WriteRequest.RefreshPolicy.IMMEDIATE) .execute().actionGet(); }