Hello Dan, thanks again for all the help but I can't seem to get anything
to return. Here is my full code, there has to be something I'm missing.
Maybe in the indexing, the mapping?

Mapping:
putMappingResponse = new PutMappingRequestBuilder(newClient
.admin().indices())
.setIndices(INDEX_NAME)
.setType(INDEX_TYPE)
.setSource(jsonBuilder().startObject("suggest")
.field("type", "completion")
.endObject().execute().actionGet());

Method:
public String searchSuggestions(String suggestion) {
// Creates suggestions based on Document Titles.
String toReturn = "";

Client localClient = getElasticSearchClient();

CompletionSuggestionBuilder compBuilder = new
CompletionSuggestionBuilder("completion");
compBuilder.text(suggestion);
compBuilder.field("suggest");

SuggestRequestBuilder suggestRequestBuilder = localClient
.prepareSuggest(INDEX_NAME).addSuggestion(compBuilder);

SuggestResponse suggestResponse =
suggestRequestBuilder.execute().actionGet();
 CompletionSuggestion compSuggestion =
suggestResponse.getSuggest().getSuggestion("completion");

List<CompletionSuggestion.Entry> entryList = compSuggestion.getEntries();
if (entryList != null) {
CompletionSuggestion.Entry entry = entryList.get(0);
List<CompletionSuggestion.Entry.Option> options = entry.getOptions();
if (options != null) {
CompletionSuggestion.Entry.Option option = options.get(0);
toReturn = option.getText().string();
}
}
return toReturn;
}

Index:
response = localClient.prepareIndex(INDEX_NAME, INDEX_TYPE)
.setSource(jsonBuilder().startObject("suggest").field("input","FooFighters").endObject()).execute().actionGet();

Thanks for all the help, I'm basically shooting in the dark hoping somebody
with more experience can spot the issue.





On Wed, Apr 9, 2014 at 3:56 AM, Dan Tuffery <[email protected]> wrote:

> This looks wrong,
>
> *Suggest.Suggestion.Entry.Option option2 =
> suggestResponse.getSuggest().getSuggestion("completion").getEntries().get(0).getOptions().get(0);*
>
> it should be:
>
> *Suggest.Suggestion.Entry.Option option2 = *
> *suggestResponse.getSuggest().getSuggestion("suggest").getEntries().get(0).getOptions().get(0);*
>
> Where *getSuggestion* is getting the field name you supplied in the
> request.
>
> Dan
>
>
> So it looks like your query is returning zero results. Can you see values
> indexed for the field 'at'
>
>
> On Tuesday, April 8, 2014 4:07:57 PM UTC+1, Bill Wortinger wrote:
>
>> Great resource! Thank you,
>>
>>
>>
>>
>>
>>
>>
>>
>> *CompletionSuggestionBuilder compBuilder = new
>> CompletionSuggestionBuilder("completion");
>> compBuilder.text(suggestion);        compBuilder.field("suggest");
>> SuggestRequestBuilder suggestRequestBuilder =
>> localClient.prepareSuggest(INDEX_NAME)
>> .addSuggestion(compBuilder);                SuggestResponse suggestResponse
>> = suggestRequestBuilder.execute().actionGet();*
>>
>> When executing
>>
>>
>> *Suggest.Suggestion.Entry.Option option2 =
>> suggestResponse.getSuggest().getSuggestion("completion").getEntries().get(0).getOptions().get(0);*
>> A null is returned.
>>
>> Below is my index.
>>
>> *.startObject("suggest").field("type", "completion").endObject()*
>>
>> Thanks again!
>>
>>
>>
>>
>>
>>
>> On Tue, Apr 8, 2014 at 9:14 AM, Dan <[email protected]> wrote:
>>
>>> What is the issue you're seeing? Have a look at the examples in the
>>> tests:
>>>
>>> https://github.com/elasticsearch/elasticsearch/
>>> blob/master/src/test/java/org/elasticsearch/search/suggest/
>>> CompletionSuggestSearchTests.java
>>>
>>> Dan
>>>
>>>
>>> On Tuesday, April 8, 2014 1:43:29 PM UTC+1, Bill Wortinger wrote:
>>>>
>>>> Thanks for the heads up Alex, I'll remove the .setTypes().
>>>>
>>>> Dan, this is what I have so far;
>>>>
>>>> CompletionSuggestionBuilder compBuilder = new
>>>> CompletionSuggestionBuilder("complete");
>>>> compBuilder.text('n");
>>>> compBuilder.field("suggest");
>>>> SuggestRequestBuilder suggestRequestBuilder =
>>>> client.prepareSuggest(INDEX_NAME);
>>>> suggestRequestBuilder.addSuggestion(compBuilder);
>>>>  SuggestResponse suggestResponse = suggestRequestBuilder.execute(
>>>> ).actionGet();
>>>>
>>>> CompletionSuggestion compSuggestion = suggestResponse.getSuggest().g
>>>> etSuggestion("complete");
>>>>
>>>> List<CompletionSuggestion.Entry> entryList =
>>>> compSuggestion.getEntries();
>>>>         if(entryList != null) {
>>>>         CompletionSuggestion.Entry entry = entryList.get(0);
>>>>         List<CompletionSuggestion.Entry.Option> options
>>>> =entry.getOptions();
>>>>                if(options != null)  {
>>>>                 CompletionSuggestion.Entry.Option option =
>>>> options.get(0);
>>>>                    toReturn = option.getText().string();
>>>>                }
>>>>         }
>>>>         return toReturn;
>>>>
>>>> I've made progress! But now it's falling apart when I try parsing the
>>>> entries from the suggestReponse. So, am I doing this correctly? Missing
>>>> something?
>>>>
>>>> Thanks!
>>>>
>>>>>
>>>>>
>>>> On Monday, April 7, 2014 6:26:37 AM UTC-4, Dan wrote:
>>>>>
>>>>> Use the SuggestRequestBuilder, i.e.
>>>>>
>>>>> CompletionSuggestionBuilder compBuilder = new
>>>>> CompletionSuggestionBuilder("complete");
>>>>> compBuilder.text("n");
>>>>> compBuilder.field("suggest");
>>>>>
>>>>> SuggestRequestBuilder suggestRequestBuilder =
>>>>> client.prepareSuggest(INDEX_NAME);
>>>>> suggestRequestBuilder.addSuggestion(compBuilder);
>>>>> SuggestResponse suggestResponse = suggestRequestBuilder.execute(
>>>>> ).actionGet();
>>>>>
>>>>> Dan
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> On Mon, Apr 7, 2014 at 8:49 AM, Alexander Reelsen 
>>>>> <[email protected]>wrote:
>>>>>
>>>>>> Hey,
>>>>>>
>>>>>> looks ok. Minor note: Types are simply ignored for suggestions. What
>>>>>> are you getting back? Nothing?
>>>>>> Can you create a fully working gist, including creation of the
>>>>>> mapping and indexing? Then debugging and finding your possible cause 
>>>>>> would
>>>>>> be a lot easier.
>>>>>>
>>>>>>
>>>>>> --Alex
>>>>>>
>>>>>>
>>>>>> On Fri, Apr 4, 2014 at 4:02 PM, Bill Wortinger <[email protected]>wrote:
>>>>>>
>>>>>>> I have my indices created, and mapping type for my 'suggest' field
>>>>>>> set to completion. I can't figure out how to configure the query for
>>>>>>> completion suggestions in elastic-search (Java API).
>>>>>>>
>>>>>>> I'm trying to use this Query to base my implementation off of. 
>>>>>>> "song-suggest" : { "text" : "n", "completion" : { "field" : "suggest" } 
>>>>>>> } Here's
>>>>>>> what I have so far,
>>>>>>>
>>>>>>>         CompletionSuggestionBuilder compBuilder = new 
>>>>>>> CompletionSuggestionBuilder("complete");
>>>>>>>         compBuilder.text("n..");
>>>>>>>         compBuilder.field("suggest");
>>>>>>>
>>>>>>>         SearchResponse searchResponse = 
>>>>>>> localClient.prepareSearch(INDEX_NAME)
>>>>>>>         .setTypes("completion")
>>>>>>>         .setQuery(QueryBuilders.matchAllQuery())
>>>>>>>         .addSuggestion(compBuilder)
>>>>>>>         .execute().actionGet();
>>>>>>>
>>>>>>>          CompletionSuggestion compSuggestion = 
>>>>>>> searchResponse.getSuggest().getSuggestion("complete");
>>>>>>>
>>>>>>>  Am I missing something, doing something wrong? Thanks!
>>>>>>>
>>>>>>> --
>>>>>>> You received this message because you are subscribed to the Google
>>>>>>> Groups "elasticsearch" group.
>>>>>>> To unsubscribe from this group and stop receiving emails from it,
>>>>>>> send an email to [email protected].
>>>>>>> To view this discussion on the web visit
>>>>>>> https://groups.google.com/d/msgid/elasticsearch/06792c37-646
>>>>>>> c-4b59-bdb3-f23cc51bd134%40googlegroups.com<https://groups.google.com/d/msgid/elasticsearch/06792c37-646c-4b59-bdb3-f23cc51bd134%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>>>>> .
>>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>>
>>>>>>
>>>>>>  --
>>>>>> You received this message because you are subscribed to the Google
>>>>>> Groups "elasticsearch" group.
>>>>>> To unsubscribe from this group and stop receiving emails from it,
>>>>>> send an email to [email protected].
>>>>>> To view this discussion on the web visit https://groups.google.com/d/
>>>>>> msgid/elasticsearch/CAGCwEM9D76GmrXqdnBy%3DkstCN4NDtfkS3X%3DyX
>>>>>> d0uMdTVpSUBvg%40mail.gmail.com<https://groups.google.com/d/msgid/elasticsearch/CAGCwEM9D76GmrXqdnBy%3DkstCN4NDtfkS3X%3DyXd0uMdTVpSUBvg%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>>>>> .
>>>>>>
>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>
>>>>>
>>>>>  --
>>> You received this message because you are subscribed to a topic in the
>>> Google Groups "elasticsearch" group.
>>> To unsubscribe from this topic, visit https://groups.google.com/d/
>>> topic/elasticsearch/06nbxJnYfDo/unsubscribe.
>>> To unsubscribe from this group and all its topics, send an email to
>>> [email protected].
>>> To view this discussion on the web visit https://groups.google.com/d/
>>> msgid/elasticsearch/f6e28fc8-cef5-4f13-8dce-04e0bcfc5404%
>>> 40googlegroups.com<https://groups.google.com/d/msgid/elasticsearch/f6e28fc8-cef5-4f13-8dce-04e0bcfc5404%40googlegroups.com?utm_medium=email&utm_source=footer>
>>> .
>>>
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>
>>  --
> You received this message because you are subscribed to a topic in the
> Google Groups "elasticsearch" group.
> To unsubscribe from this topic, visit
> https://groups.google.com/d/topic/elasticsearch/06nbxJnYfDo/unsubscribe.
> To unsubscribe from this group and all its topics, send an email to
> [email protected].
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/elasticsearch/6fa70b40-0fb7-4735-851d-bf8bc872fd38%40googlegroups.com<https://groups.google.com/d/msgid/elasticsearch/6fa70b40-0fb7-4735-851d-bf8bc872fd38%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups 
"elasticsearch" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/elasticsearch/CAJ%3D6wEdQVBqfTkvC3rzDs6wUWxV7KW7MA-NgEq14RdF7O500jg%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to