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


Java IndexRequestBuilder.execute方法代碼示例

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


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

示例1: index

import org.elasticsearch.action.index.IndexRequestBuilder; //導入方法依賴的package包/類
@Override
public void index(String appid, ParaObject po) {
	if (po == null || StringUtils.isBlank(appid)) {
		return;
	}
	try {
		IndexRequestBuilder irb = client().prepareIndex(getIndexName(appid), getType(), po.getId()).
				setSource(ElasticSearchUtils.getSourceFromParaObject(po));
		ActionListener<IndexResponse> responseHandler = ElasticSearchUtils.getIndexResponseHandler();
		if (isAsyncEnabled()) {
			irb.execute(responseHandler);
		} else {
			responseHandler.onResponse(irb.execute().actionGet());
		}
		logger.debug("Search.index() {}", po.getId());
	} catch (Exception e) {
		logger.warn(null, e);
	}
}
 
開發者ID:Erudika,項目名稱:para-search-elasticsearch,代碼行數:20,代碼來源:ElasticSearch.java

示例2: executeIndexRequest

import org.elasticsearch.action.index.IndexRequestBuilder; //導入方法依賴的package包/類
private void executeIndexRequest(final StreamInput streamInput, final IndexRequestBuilder builder) {
    builder.execute(wrap(res -> {
        processRequests(streamInput);
        // continue
    }, e -> {
        if (senderRequestRetryCount >= 0) {
            if (requestErrorCount > senderRequestRetryCount) {
                logger.error("[Sender][" + index + "][" + requestErrorCount + "] Failed to index [" + builder.request().index() + "]["
                        + builder.request().type() + "][" + builder.request().id() + "]", e);
                requestErrorCount = 0;
                writeError(requestPosition, builder.request(), wrap(r -> processRequests(streamInput), ex -> {
                    logger.warn("[Sender][" + index + "] Failed to store an error request.", ex);
                    processRequests(streamInput);
                }));
            } else {
                if (logger.isDebugEnabled()) {
                    logger.debug("[" + requestErrorCount + "] Failed to index [" + builder.request().index() + "]["
                            + builder.request().type() + "][" + builder.request().id() + "]", e);
                }
                requestErrorCount++;
                executeIndexRequest(streamInput, builder);
            }
        } else {
            IOUtils.closeQuietly(streamInput);
            retryWithError("Failed to index (" + builder.request() + ")", e);
            // retry
        }
    }));
}
 
開發者ID:codelibs,項目名稱:elasticsearch-indexing-proxy,代碼行數:30,代碼來源:RequestSender.java

示例3: launchRequestSender

import org.elasticsearch.action.index.IndexRequestBuilder; //導入方法依賴的package包/類
private void launchRequestSender(final String index, final long filePosition, final long version,
        final ActionListener<Map<String, Object>> listener) {
    if (logger.isDebugEnabled()) {
        logger.debug("Launching RequestSender(" + index + ")");
    }
    final Map<String, Object> source = new HashMap<>();
    source.put(IndexingProxyPlugin.NODE_NAME, nodeName());
    source.put(IndexingProxyPlugin.FILE_POSITION, filePosition);
    source.put(IndexingProxyPlugin.TIMESTAMP, new Date());
    source.put(DOC_TYPE, "index");
    final IndexRequestBuilder builder =
            client.prepareIndex(IndexingProxyPlugin.INDEX_NAME, IndexingProxyPlugin.TYPE_NAME, index).setSource(source).setRefreshPolicy(RefreshPolicy.WAIT_UNTIL);
    if (version > 0) {
        builder.setVersion(version);
    } else {
        builder.setCreate(true);
    }
    builder.execute(wrap(res -> {
        if (res.getResult() == Result.CREATED || res.getResult() == Result.UPDATED) {
            final RequestSender sender = new RequestSender(settings, client, threadPool, namedWriteableRegistry, nodeName(), dataPath,
                    index, dataFileFormat, docSenderMap, logger);
            final RequestSender oldSender = docSenderMap.put(index, sender);
            if (oldSender != null) {
                oldSender.terminate();
            }
            threadPool.schedule(TimeValue.ZERO, Names.GENERIC, sender);
            listener.onResponse(source);
        } else {
            listener.onFailure(new ElasticsearchException("Failed to update .idxproxy index: " + res));
        }
    }, listener::onFailure));
}
 
開發者ID:codelibs,項目名稱:elasticsearch-indexing-proxy,代碼行數:33,代碼來源:IndexingProxyService.java


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