Elasticsearch 5.1 からサジェクターの結果を取得しようとしていますが、現在空の結果が得られています。私は現在jestクライアントを使用しています。私のコードは以下です。
JestClientFactory factory = new JestClientFactory();
factory.setHttpClientConfig(new HttpClientConfig
.Builder("localhost:9200")
.multiThreaded(true)
.build());
JestClient client = factory.getObject();
String query="{\n" +
" \"suggest\": {\n" +
" \"text\": \"porm\",\n" +
" \"simple_phrase\": {\n" +
" \"phrase\": {\n" +
" \"field\": \"content\",\n" +
" \"size\": 1,\n" +
" \"gram_size\": 3,\n" +
" \"direct_generator\": [ {\n" +
" \"field\": \"content\",\n" +
" \"suggest_mode\": \"always\"\n" +
" } ],\n" +
" \"highlight\": {\n" +
" \"pre_tag\": \"<em>\",\n" +
" \"post_tag\": \"</em>\"\n" +
" }\n" +
" }\n" +
" }\n" +
" }\n" +
"}";
Suggest suggest1 = new Suggest.Builder(query).addIndex("index").build();
SuggestResult result1 = client.execute(suggest1);
List<SuggestResult.Suggestion> suggestions = result1.getSuggestions("simple_phrase");
ArrayList<String> suggest2=new ArrayList<String>();
for (SuggestResult.Suggestion sugg:
suggestions) {
suggest2.add(sugg.text);
}
return ok(Json.toJson(suggest2));
}