當前位置: 首頁>>代碼示例>>Java>>正文


Java BulkRequestBuilder.add方法代碼示例

本文整理匯總了Java中org.elasticsearch.action.bulk.BulkRequestBuilder.add方法的典型用法代碼示例。如果您正苦於以下問題:Java BulkRequestBuilder.add方法的具體用法?Java BulkRequestBuilder.add怎麽用?Java BulkRequestBuilder.add使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在org.elasticsearch.action.bulk.BulkRequestBuilder的用法示例。


在下文中一共展示了BulkRequestBuilder.add方法的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: unindexAll

import org.elasticsearch.action.bulk.BulkRequestBuilder; //導入方法依賴的package包/類
@Override
public <P extends ParaObject> void unindexAll(String appid, List<P> objects) {
	if (StringUtils.isBlank(appid) || objects == null || objects.isEmpty()) {
		return;
	}
	BulkRequestBuilder brb = client().prepareBulk();
	for (ParaObject po : objects) {
		brb.add(client().prepareDelete(getIndexName(appid), getType(), po.getId()));
	}
	if (brb.numberOfActions() > 0) {
		ActionListener<BulkResponse> responseHandler = ElasticSearchUtils.getBulkIndexResponseHandler();
		if (isAsyncEnabled()) {
			brb.execute(responseHandler);
		} else {
			responseHandler.onResponse(brb.execute().actionGet());
		}
	}
	logger.debug("Search.unindexAll() {}", objects.size());
}
 
開發者ID:Erudika,項目名稱:para-search-elasticsearch,代碼行數:20,代碼來源:ElasticSearch.java

示例2: bulkDelete

import org.elasticsearch.action.bulk.BulkRequestBuilder; //導入方法依賴的package包/類
@Override
public String bulkDelete(String index, String type, String... ids) {
	try {
		if(client==null){
			init();
		}
		BulkRequestBuilder bulkRequest = client.prepareBulk();
		for (String id : ids) {
			bulkRequest.add(client.prepareDelete(index, type, id));
		}
		BulkResponse result = bulkRequest.execute().get();
		return result.toString();
	}catch (Exception e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}
	return null;
}
 
開發者ID:dev-share,項目名稱:database-transform-tool,代碼行數:19,代碼來源:ElasticsearchTransportFactory.java

示例3: indexAll

import org.elasticsearch.action.bulk.BulkRequestBuilder; //導入方法依賴的package包/類
@Override
public <P extends ParaObject> void indexAll(String appid, List<P> objects) {
	if (StringUtils.isBlank(appid) || objects == null || objects.isEmpty()) {
		return;
	}
	BulkRequestBuilder brb = client().prepareBulk();
	for (ParaObject po : objects) {
		brb.add(client().prepareIndex(getIndexName(appid), getType(), po.getId()).
				setSource(ElasticSearchUtils.getSourceFromParaObject(po)));
	}
	if (brb.numberOfActions() > 0) {
		ActionListener<BulkResponse> responseHandler = ElasticSearchUtils.getBulkIndexResponseHandler();
		if (isAsyncEnabled()) {
			brb.execute(responseHandler);
		} else {
			responseHandler.onResponse(brb.execute().actionGet());
		}
	}
	logger.debug("Search.indexAll() {}", objects.size());
}
 
開發者ID:Erudika,項目名稱:para-search-elasticsearch,代碼行數:21,代碼來源:ElasticSearch.java

示例4: testBulk

import org.elasticsearch.action.bulk.BulkRequestBuilder; //導入方法依賴的package包/類
public void testBulk() {
    // Index by bulk with RefreshPolicy.WAIT_UNTIL
    BulkRequestBuilder bulk = client().prepareBulk().setRefreshPolicy(RefreshPolicy.WAIT_UNTIL);
    bulk.add(client().prepareIndex("test", "test", "1").setSource("foo", "bar"));
    assertBulkSuccess(bulk.get());
    assertSearchHits(client().prepareSearch("test").setQuery(matchQuery("foo", "bar")).get(), "1");

    // Update by bulk with RefreshPolicy.WAIT_UNTIL
    bulk = client().prepareBulk().setRefreshPolicy(RefreshPolicy.WAIT_UNTIL);
    bulk.add(client().prepareUpdate("test", "test", "1").setDoc(Requests.INDEX_CONTENT_TYPE, "foo", "baz"));
    assertBulkSuccess(bulk.get());
    assertSearchHits(client().prepareSearch("test").setQuery(matchQuery("foo", "baz")).get(), "1");

    // Delete by bulk with RefreshPolicy.WAIT_UNTIL
    bulk = client().prepareBulk().setRefreshPolicy(RefreshPolicy.WAIT_UNTIL);
    bulk.add(client().prepareDelete("test", "test", "1"));
    assertBulkSuccess(bulk.get());
    assertNoSearchHits(client().prepareSearch("test").setQuery(matchQuery("foo", "bar")).get());

    // Update makes a noop
    bulk = client().prepareBulk().setRefreshPolicy(RefreshPolicy.WAIT_UNTIL);
    bulk.add(client().prepareDelete("test", "test", "1"));
    assertBulkSuccess(bulk.get());
}
 
開發者ID:justor,項目名稱:elasticsearch_my,代碼行數:25,代碼來源:WaitUntilRefreshIT.java

示例5: bulkUpsert

import org.elasticsearch.action.bulk.BulkRequestBuilder; //導入方法依賴的package包/類
public String bulkUpsert(String index,String type,List<Object> jsons){
	try {
		if(client==null){
			init();
		}
		BulkRequestBuilder bulkRequest = client.prepareBulk();
		for (Object json : jsons) {
			JSONObject obj = JSON.parseObject(JSON.toJSONString(json));
			String id = UUIDs.base64UUID();
			if(obj.containsKey("id")){
				id = obj.getString("id");
				obj.remove("id");
				bulkRequest.add(client.prepareUpdate(index, type, id).setDoc(obj.toJSONString(),XContentType.JSON));
			}else{
				bulkRequest.add(client.prepareIndex(index, type, id).setSource(obj.toJSONString(),XContentType.JSON));
			}
		}
		BulkResponse result = bulkRequest.execute().get();
		return result.toString();
	}catch (Exception e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}
	return null;
}
 
開發者ID:dev-share,項目名稱:database-transform-tool,代碼行數:26,代碼來源:ElasticsearchTransportFactory.java

示例6: doJob

import org.elasticsearch.action.bulk.BulkRequestBuilder; //導入方法依賴的package包/類
@Override
public void doJob(EventLog log, LogDto logDto, BulkRequestBuilder bulkRequest) {
    // 進行索引(for kibana),包含api調用、第三方調用、中間件調用
    if (this.getTypes().indexOf(log.getEventType()) != -1 && (log.getStatus().equals(EventLog.MONITOR_STATUS_FAILED) || log.getStatus().equals(EventLog.MONITOR_STATUS_SUCCESS))) {
        try {
            bulkRequest.add(transportClient.prepareIndex(this.esProperties.getIndex(), this.esProperties.getDoc())
                    .setSource(this.buildXContentBuilder(log, logDto)));
        } catch (IOException e) {
            LOGGER.error("構造一條es入庫數據失敗, {]", logDto);
        }
    }

    // 進行後續的處理
    if (null != this.getNextJob()) {
        this.getNextJob().doJob(log, logDto, bulkRequest);
    }
}
 
開發者ID:JThink,項目名稱:SkyEye,代碼行數:18,代碼來源:Indexer.java

示例7: updateWithBulkTest

import org.elasticsearch.action.bulk.BulkRequestBuilder; //導入方法依賴的package包/類
@Test
public void updateWithBulkTest() throws IOException {
	BulkRequestBuilder request = client.prepareBulk();
	
	request.add(client.prepareUpdate(INDEX_NAME, TYPE_NAME, "AVQcXWKy50MnK8WFflRS")
						.setDoc(jsonBuilder()
								.startObject()
								.field("name", "testUpdateBulk")
								.endObject()
						)
				);
	request.add(client.prepareUpdate(INDEX_NAME, TYPE_NAME, "AVQcU5cD50MnK8WFflRQ")
						.setDoc(jsonBuilder()
								.startObject()
								.field("name", "testUpdateBulk2")
								.endObject()
						)
				);
	BulkResponse response = request.execute().actionGet();
	Assert.assertFalse(response.hasFailures());
}
 
開發者ID:walle-liao,項目名稱:jaf-examples,代碼行數:22,代碼來源:DocumentTests.java

示例8: execute

import org.elasticsearch.action.bulk.BulkRequestBuilder; //導入方法依賴的package包/類
/**
 * Executes the list with requests as a bulk with maximum number of requests per bulk
 * @param requests
 * @param maxRequestsPerBulk
 * @return
 * @throws SQLException
 */
private int execute(List<?> requests, int maxRequestsPerBulk) throws SQLException{
	int result = 0;
	BulkRequestBuilder bulkReq = client.prepareBulk();
	for(Object req : requests){
		if(req instanceof IndexRequest)	bulkReq.add((IndexRequest)req);
		else if(req instanceof UpdateRequest) bulkReq.add((UpdateRequest)req);
		else if(req instanceof DeleteRequest) bulkReq.add((DeleteRequest)req);
		else if(req instanceof IndexRequestBuilder) bulkReq.add((IndexRequestBuilder)req);
		else if(req instanceof UpdateRequestBuilder) bulkReq.add((UpdateRequestBuilder)req);
		else if(req instanceof DeleteRequestBuilder) bulkReq.add((DeleteRequestBuilder)req);
		else throw new SQLException("Type "+req.getClass()+" cannot be added to a bulk request");
		
		if(bulkReq.numberOfActions() > maxRequestsPerBulk){
			result += bulkReq.get().getItems().length;
			bulkReq = client.prepareBulk();
		}
	}
	
	if(bulkReq.numberOfActions() > 0){
		result += bulkReq.get().getItems().length;
	}
	return result;
}
 
開發者ID:Anchormen,項目名稱:sql4es,代碼行數:31,代碼來源:ESUpdateState.java

示例9: writeDependencyLinks

import org.elasticsearch.action.bulk.BulkRequestBuilder; //導入方法依賴的package包/類
@VisibleForTesting void writeDependencyLinks(List<DependencyLink> links, long timestampMillis) {
  long midnight = Util.midnightUTC(timestampMillis);
  TransportClient client = ((NativeClient) storage.client()).client;
  BulkRequestBuilder request = client.prepareBulk();
  for (DependencyLink link : links) {
    request.add(client.prepareIndex(
        storage.indexNameFormatter.indexNameForTimestamp(midnight),
        ElasticsearchConstants.DEPENDENCY_LINK)
        .setId(link.parent + "|" + link.child) // Unique constraint
        .setSource(
            "parent", link.parent,
            "child", link.child,
            "callCount", link.callCount));
  }
  request.execute().actionGet();
  client.admin().indices().flush(new FlushRequest()).actionGet();
}
 
開發者ID:liaominghua,項目名稱:zipkin,代碼行數:18,代碼來源:ElasticsearchDependenciesTest.java

示例10: insert

import org.elasticsearch.action.bulk.BulkRequestBuilder; //導入方法依賴的package包/類
@Override
public void insert(List<BucketOwner> bucketOwners, Date collectionTime) {
	
	if (bucketOwners != null && !bucketOwners.isEmpty()) {
		BulkRequestBuilder requestBuilder = elasticClient.prepareBulk();
		// Generate JSON for object buckets info
		for (BucketOwner bucketOwner : bucketOwners) {
			XContentBuilder objectBucketBuilder = toJsonFormat(bucketOwner, collectionTime);
			IndexRequestBuilder request = elasticClient.prepareIndex().setIndex(bucketownerIndexDayName)
					.setType(BUCKET_OWNER_INDEX_TYPE).setSource(objectBucketBuilder);
			requestBuilder.add(request);
		}

		BulkResponse bulkResponse = requestBuilder.execute().actionGet();
		int items = bulkResponse.getItems().length;
		LOGGER.info("Took " + bulkResponse.getTookInMillis() + " ms to index [" + items + "] items in ElasticSearch"
				+ "index: " + bucketownerIndexDayName + " index type: " + BUCKET_OWNER_INDEX_TYPE);

		if (bulkResponse.hasFailures()) {
			LOGGER.error("Failures occured while items in ElasticSearch " + "index: " + bucketownerIndexDayName
					+ " index type: " + BUCKET_OWNER_INDEX_TYPE);
		}
	}
}
 
開發者ID:carone1,項目名稱:ecs-dashboard,代碼行數:25,代碼來源:ElasticBucketOwnerDAO.java

示例11: deleteAllIds

import org.elasticsearch.action.bulk.BulkRequestBuilder; //導入方法依賴的package包/類
@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();
}
 
開發者ID:jloisel,項目名稱:elastic-crud,代碼行數:23,代碼來源:ElasticSearchRepository.java

示例12: before

import org.elasticsearch.action.bulk.BulkRequestBuilder; //導入方法依賴的package包/類
@Before
public void before() throws IOException {
  if(!client.admin().indices().prepareExists(INDEX).execute().actionGet().isExists()) {
    client.admin().indices().prepareCreate(INDEX).execute().actionGet();
  }
  final JsonSerializer<Person> serializer = mapper.serializer(Person.class);
  final BulkRequestBuilder bulk = client.prepareBulk();
  for (int i = 0; i < SIZE; i++) {

    final String name = UUID.randomUUID().toString();
    final IndexRequest request = new IndexRequest(INDEX, TYPE);
    request.source(serializer.apply(Person.builder().id("").firstname(name).lastname(name).build()), JSON);
    bulk.add(request);
  }

  client.bulk(bulk.request()).actionGet();
  flush(INDEX);
}
 
開發者ID:jloisel,項目名稱:elastic-crud,代碼行數:19,代碼來源:ElasticScrollingFactoryEsTest.java

示例13: before

import org.elasticsearch.action.bulk.BulkRequestBuilder; //導入方法依賴的package包/類
@Before
public void before() throws IOException {
  if(!client.admin().indices().prepareExists(INDEX).execute().actionGet().isExists()) {
    client.admin().indices().prepareCreate(INDEX).execute().actionGet();
  }
  final BulkRequestBuilder bulk = client.prepareBulk();
  final JsonSerializer<Person> serializer = mapper.serializer(Person.class);
  for (int i = 0; i < SIZE; i++) {

    final String name = UUID.randomUUID().toString();
    final IndexRequest request = new IndexRequest(INDEX, TYPE);
    request.source(serializer.apply(Person.builder().id("").firstname(name).lastname(name).build()), JSON);
    bulk.add(request);
  }

  client.bulk(bulk.request()).actionGet();
  flush(INDEX);
}
 
開發者ID:jloisel,項目名稱:elastic-crud,代碼行數:19,代碼來源:BulkDeleteEsTest.java

示例14: bulkDelete

import org.elasticsearch.action.bulk.BulkRequestBuilder; //導入方法依賴的package包/類
@Override
public void bulkDelete(BulkDeleteRequest request) {
    if (request.ids == null || request.ids.isEmpty()) throw Exceptions.error("request.ids must not be empty");

    StopWatch watch = new StopWatch();
    String index = request.index == null ? this.index : request.index;
    BulkRequestBuilder builder = client().prepareBulk();
    for (String id : request.ids) {
        builder.add(client().prepareDelete(index, type, id));
    }
    long esTookTime = 0;
    try {
        BulkResponse response = builder.get();
        esTookTime = response.getTook().nanos();
        if (response.hasFailures()) throw new SearchException(response.buildFailureMessage());
    } catch (ElasticsearchException e) {
        throw new SearchException(e);   // due to elastic search uses async executor to run, we have to wrap the exception to retain the original place caused the exception
    } finally {
        long elapsedTime = watch.elapsedTime();
        ActionLogContext.track("elasticsearch", elapsedTime, 0, request.ids.size());
        logger.debug("bulkDelete, index={}, type={}, size={}, esTookTime={}, elapsedTime={}", index, type, request.ids.size(), esTookTime, elapsedTime);
        checkSlowOperation(elapsedTime);
    }
}
 
開發者ID:neowu,項目名稱:core-ng-project,代碼行數:25,代碼來源:ElasticSearchTypeImpl.java

示例15: beforeTest

import org.elasticsearch.action.bulk.BulkRequestBuilder; //導入方法依賴的package包/類
@Before
public void beforeTest() throws Exception{
	jCas = JCasSingleton.getJCasInstance();

	try{
		//Find all documents in index and delete the documents
		BulkRequestBuilder brb = client.prepareBulk();
		SearchHits results = client.search(new SearchRequest()).actionGet().getHits();
		for(SearchHit sh : results){
			brb.add(client.prepareDelete("baleen_index", "baleen_output", sh.getId()).request());
		}
		if(brb.numberOfActions() > 0)
			brb.get();
	}catch(IndexNotFoundException infe){
		//Index doesn't exist - ignore
	}
}
 
開發者ID:dstl,項目名稱:baleen,代碼行數:18,代碼來源:ElasticsearchTestBase.java


注:本文中的org.elasticsearch.action.bulk.BulkRequestBuilder.add方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。