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 dan.tuffery@gmail.com 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 dan.t...@gmail.com wrote:
What is the issue you're seeing? Have a look at the examples in the
tests:
GitHub - elastic/elasticsearch: Free and Open, Distributed, RESTful Search Engine
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 a...@spinscale.dewrote:
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 r3dr...@gmail.comwrote:
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 elasticsearc...@googlegroups.com.
To view this discussion on the web visit
https://groups.google.com/d/msgid/elasticsearch/06792c37-646
c-4b59-bdb3-f23cc51bd134%40googlegroups.comhttps://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 elasticsearc...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/
msgid/elasticsearch/CAGCwEM9D76GmrXqdnBy%3DkstCN4NDtfkS3X%3DyX
d0uMdTVpSUBvg%40mail.gmail.comhttps://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
elasticsearc...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/
msgid/elasticsearch/f6e28fc8-cef5-4f13-8dce-04e0bcfc5404%
40googlegroups.comhttps://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
elasticsearch+unsubscribe@googlegroups.com.
To view this discussion on the web visit
https://groups.google.com/d/msgid/elasticsearch/6fa70b40-0fb7-4735-851d-bf8bc872fd38%40googlegroups.comhttps://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 elasticsearch+unsubscribe@googlegroups.com.
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.