Java Code Examples for org.elasticsearch.action.search.SearchRequestBuilder#execute()
The following examples show how to use
org.elasticsearch.action.search.SearchRequestBuilder#execute() .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: TransportFeatureStoreAction.java From elasticsearch-learning-to-rank with Apache License 2.0 | 6 votes |
/** * Perform a test search request to validate the element prior to storing it. * * @param validation validation info * @param element the element stored * @param task the parent task * @param listener the action listener to write to * @param onSuccess action ro run when the validation is successfull */ private void validate(FeatureValidation validation, StorableElement element, Task task, ActionListener<FeatureStoreResponse> listener, Runnable onSuccess) { ValidatingLtrQueryBuilder ltrBuilder = new ValidatingLtrQueryBuilder(element, validation, factory); SearchRequestBuilder builder = new SearchRequestBuilder(client, SearchAction.INSTANCE); builder.setIndices(validation.getIndex()); builder.setQuery(ltrBuilder); builder.setFrom(0); builder.setSize(20); // Bail out early and don't score the whole index. builder.setTerminateAfter(1000); builder.request().setParentTask(clusterService.localNode().getId(), task.getId()); builder.execute(wrap((r) -> { if (r.getFailedShards() > 0) { ShardSearchFailure failure = r.getShardFailures()[0]; throw new IllegalArgumentException("Validating the element caused " + r.getFailedShards() + " shard failures, see root cause: " + failure.reason(), failure.getCause()); } onSuccess.run(); }, (e) -> listener.onFailure(new IllegalArgumentException("Cannot store element, validation failed.", e)))); }
Example 2
Source File: DefaultElasticSearchService.java From vertx-elasticsearch-service with Apache License 2.0 | 6 votes |
@Override public void search(List<String> indices, SearchOptions options, Handler<AsyncResult<com.hubrick.vertx.elasticsearch.model.SearchResponse>> resultHandler) { final SearchRequestBuilder builder = client.prepareSearch(indices.toArray(new String[indices.size()])); if (options != null) { populateSearchRequestBuilder(builder, options); builder.execute(new ActionListener<SearchResponse>() { @Override public void onResponse(SearchResponse searchResponse) { resultHandler.handle(Future.succeededFuture(mapToSearchResponse(searchResponse))); } @Override public void onFailure(Exception t) { handleFailure(resultHandler, t); } }); } }
Example 3
Source File: ReindexingService.java From elasticsearch-reindexing with Apache License 2.0 | 5 votes |
/** * Execute the reindexing * * @param params Rest request * @param content Content of rest request in {} * @param listener is to receive the response back * @return */ public String execute(final Params params, final BytesReference content, final ActionListener<Void> listener) { final String url = params.param("url"); // set scroll to 1m if there is no final String scroll = params.param("scroll", "1m"); final String fromIndex = params.param("index"); final String fromType = params.param("type"); final String toIndex = params.param("toindex"); final String toType = params.param("totype"); final String[] fields = params.paramAsBoolean("parent", true) ? new String[]{"_source", "_parent"} : new String[]{"_source"}; final boolean deletion = params.paramAsBoolean("deletion", false); final ReindexingListener reindexingListener = new ReindexingListener(url, fromIndex, fromType, toIndex, toType, scroll, deletion, listener); // Create search request builder final SearchRequestBuilder builder = client.prepareSearch(fromIndex) .setScroll(scroll).addFields(fields); if (fromType != null && fromType.trim().length() > 0) { builder.setTypes(fromType.split(",")); } if (content == null || content.length() == 0) { builder.setQuery(QueryBuilders.matchAllQuery()).setSize( Integer.parseInt(params.param("size", "1000"))); } else { builder.setExtraSource(content); } builder.execute(reindexingListener); // async reindexingListenerMap.put(reindexingListener.getName(), reindexingListener); return reindexingListener.getName(); }