# Why JAVA TransportClient.suggest returns empty result, but SuggestRequestBuilder.prepareSuggest works

**URL:** <https://discuss.elastic.co/t/why-java-transportclient-suggest-returns-empty-result-but-suggestrequestbuilder-preparesuggest-works/35232>\
**Category:** Elasticsearch\
**Created:** [November 21, 2015, 8:12pm UTC](https://discuss.elastic.co/t/why-java-transportclient-suggest-returns-empty-result-but-suggestrequestbuilder-preparesuggest-works/35232 "2015-11-21T20:12:44Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![timgluz](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/timgluz/32/6076_2.png) [@timgluz](https://discuss.elastic.co/u/timgluz)\
**Post date:** [November 21, 2015, 8:12pm UTC](https://discuss.elastic.co/t/why-java-transportclient-suggest-returns-empty-result-but-suggestrequestbuilder-preparesuggest-works/35232/1 "2015-11-21T20:12:44Z")

</div>

Hello, everyone!

I'm currently writing suggestion wrappers for Clojure ES-client called **Elastisch** - it uses Java native client v.1.7.2 underhood.

When i tried to write simple completion suggest with TransportClient.suggest function then i'm getting empty response, but it works with SuggestRequestBuilder. Here's my pseudo-Java translations of my [Clojure code](https://github.com/clojurewerkz/elastisch/compare/master...timgluz:completion_suggester)

> // completion query  
> CompletionSuggestionBuilder compBuilder = new CompletionSuggestionBuilder("my\_suggest");  
> compBuilder.text("Foo");  
> compBuilder.field("my\_suggest");
> 
> [//1.example](https://1.example)  
> SuggestRequest req = new SuggestRequest(indices);  
> req.suggest(compBuilder);  
> client. **suggest** (req).actionGet() ;; got empty object here

I got expected results using this Java code

> //2nd example  
> SuggestRequestBuilder suggestRequestBuilder = client  
> . **prepareSuggest** ("example").addSuggestion(compBuilder);  
> SuggestResponse suggestResponse = suggestRequestBuilder.execute().actionGet(); ;;matches cURL example

Why my first example returns empty result? Do i miss something when building request?

"Elastisch" uses TransportClient functions for search and i would like to keep similar pattern and i'm wondering how i could get my first example to match with cURL and my second example.

Full changelog: [https://github.com/clojurewerkz/elastisch/compare/master...timgluz:completion\_suggester](https://github.com/clojurewerkz/elastisch/compare/master...timgluz:completion_suggester)

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [July 5, 2017, 11:36pm UTC](https://discuss.elastic.co/t/why-java-transportclient-suggest-returns-empty-result-but-suggestrequestbuilder-preparesuggest-works/35232/2 "2017-07-05T23:36:45Z")

</div>


