elasticsearch Jest客户端未从Play Framework的ElasticSearch Suggester 5.1接收数据,elasticsearch,playframework,elasticsearch-jest,elasticsearch,Playframework,Elasticsearch Jest" /> elasticsearch Jest客户端未从Play Framework的ElasticSearch Suggester 5.1接收数据,elasticsearch,playframework,elasticsearch-jest,elasticsearch,Playframework,Elasticsearch Jest" />

elasticsearch Jest客户端未从Play Framework的ElasticSearch Suggester 5.1接收数据

elasticsearch Jest客户端未从Play Framework的ElasticSearch Suggester 5.1接收数据,elasticsearch,playframework,elasticsearch-jest,elasticsearch,Playframework,Elasticsearch Jest,我正在尝试从elasticsearch 5.1检索Suggester结果,但目前得到的结果为空。我目前正在使用jest客户端。我的代码如下 JestClientFactory factory = new JestClientFactory(); factory.setHttpClientConfig(new HttpClientConfig .Builder("localhost:9200")

我正在尝试从elasticsearch 5.1检索Suggester结果,但目前得到的结果为空。我目前正在使用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));
    }
JestClientFactory=new JestClientFactory();
setHttpClientConfig(新的HttpClientConfig
.Builder(“localhost:9200”)
.多线程(真)
.build());
JestClient=factory.getObject();
字符串查询=“{\n”+
“\”建议\“:{\n”+
“\'text\':\'porm\',\n”+
“\”简单短语\“:{\n”+
“\”短语\“:{\n”+
“\”字段\“:\”内容\“,\n”+
“大小”:1\n+
“克大小”:3\n+
“\“直接\u生成器\”:[{\n”+
“\”字段\“:\”内容\“,\n”+
“\”建议\模式\“:\”始终\“\n”+
“}],\n”+
“\”突出显示\“:{\n”+
“\”预标记\“:\“\”,\n”+
“\”后标签\“:\“\”\n”+
“}\n”+
“}\n”+
“}\n”+
“}\n”+
"}";
Suggest suggest1=new Suggest.Builder(查询).addIndex(“索引”).build();
SuggestResult result1=client.execute(suggest1);
List suggestions=result1.getSuggestions(“简单短语”);
ArrayList suggest2=新的ArrayList();
对于(SuggestResult.SuggestSugg:
(建议){
建议2.添加(建议文本);
}
返回ok(Json.toJson(suggest2));
}
我已经解决了这个问题。实际上,json查询有一个问题。
我已将查询修改为:
字符串查询=“{\n”+
“\”简单短语\“:{\n”+
“\'text\':\'porm\',\n”+
“\”短语\“:{\n”+
“\”字段\“:\”内容\“,\n”+
“大小”:1\n+
“克大小”:3\n+
“\“直接\u生成器\”:[{\n”+
“\”字段\“:\”内容\“,\n”+
“\”建议\模式\“:\”始终\“\n”+
“}],\n”+
“\”突出显示\“:{\n”+
“\”预标记\“:\“\”,\n”+
“\”后标签\“:\“\”\n”+
“}\n”+
“}\n”+
“}\n”+
"}"; 

jest不支持elastic 5.x Yet,请改用Elasticsearch 5 REST客户端。
I have fixed this issue.Actually there was a problem with the json query.
I have modified the query to:
String query="{\n" +
                    "    \"simple_phrase\": {\n" +
                    "    \"text\": \"porm\",\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" +
                    "}";