diff --git a/modules/elasticsearch/src/main/java/org/elasticsearch/action/percolate/PercolateRequest.java b/modules/elasticsearch/src/main/java/org/elasticsearch/action/percolate/PercolateRequest.java index d5951d83fb5..25db1b3e114 100644 --- a/modules/elasticsearch/src/main/java/org/elasticsearch/action/percolate/PercolateRequest.java +++ b/modules/elasticsearch/src/main/java/org/elasticsearch/action/percolate/PercolateRequest.java @@ -50,7 +50,7 @@ public class PercolateRequest extends SingleCustomOperationRequest { private int sourceLength; private boolean sourceUnsafe; - PercolateRequest() { + public PercolateRequest() { } diff --git a/plugins/lang/groovy/src/main/groovy/org/elasticsearch/groovy/client/GClient.groovy b/plugins/lang/groovy/src/main/groovy/org/elasticsearch/groovy/client/GClient.groovy index b531dfe2028..216e4a98a68 100644 --- a/plugins/lang/groovy/src/main/groovy/org/elasticsearch/groovy/client/GClient.groovy +++ b/plugins/lang/groovy/src/main/groovy/org/elasticsearch/groovy/client/GClient.groovy @@ -32,6 +32,8 @@ import org.elasticsearch.action.get.GetResponse import org.elasticsearch.action.index.IndexRequest import org.elasticsearch.action.index.IndexResponse import org.elasticsearch.action.mlt.MoreLikeThisRequest +import org.elasticsearch.action.percolate.PercolateRequest +import org.elasticsearch.action.percolate.PercolateResponse import org.elasticsearch.action.search.SearchRequest import org.elasticsearch.action.search.SearchResponse import org.elasticsearch.client.Client @@ -40,6 +42,7 @@ import org.elasticsearch.client.action.delete.DeleteRequestBuilder import org.elasticsearch.client.action.deletebyquery.DeleteByQueryRequestBuilder import org.elasticsearch.client.action.get.GetRequestBuilder import org.elasticsearch.client.action.index.IndexRequestBuilder +import org.elasticsearch.client.action.percolate.PercolateRequestBuilder import org.elasticsearch.client.action.search.SearchRequestBuilder import org.elasticsearch.client.action.support.BaseRequestBuilder import org.elasticsearch.client.internal.InternalClient @@ -146,6 +149,19 @@ class GClient { MoreLikeThisRequest.metaClass.searchSource = {Closure c -> delegate.searchSource(new GXContentBuilder().buildAsBytes(c, contentType)) } + + PercolateRequest.metaClass.setSource = {Closure c -> + delegate.source(new GXContentBuilder().buildAsBytes(c, indexContentType)) + } + PercolateRequest.metaClass.source = {Closure c -> + delegate.source(new GXContentBuilder().buildAsBytes(c, indexContentType)) + } + PercolateRequestBuilder.metaClass.setSource = {Closure c -> + delegate.setSource(new GXContentBuilder().buildAsBytes(c, indexContentType)) + } + PercolateRequestBuilder.metaClass.source = {Closure c -> + delegate.setSource(new GXContentBuilder().buildAsBytes(c, indexContentType)) + } } public static XContentType contentType = XContentType.SMILE @@ -303,6 +319,24 @@ class GClient { client.search(request, listener) } + PercolateRequestBuilder preparePercolate(String index, String type) { + return client.preparePercolate(index, type); + } + + GActionFuture percolate(Closure c) { + PercolateRequest request = new PercolateRequest(); + c.resolveStrategy = resolveStrategy + c.setDelegate request + c.call() + percolate(request) + } + + GActionFuture percolate(PercolateRequest request) { + GActionFuture future = new GActionFuture(internalClient.threadPool(), request) + client.percolate(request, future) + return future + } + GActionFuture moreLikeThis(Closure c) { MoreLikeThisRequest request = new MoreLikeThisRequest() c.resolveStrategy = resolveStrategy