public classLianXiangWord {private staticRestClient client;static{
client=RestClient.builder(new HttpHost("localhost",9200,"http")).build();
}public static void main(String[] args) throwsException {//LianXiangWorld("手机苹果",12);//SearchLianXiangWorld("手");
SearchLianXiangWorld("手");
}/*** 1.插入联想词
*@paramcontent
*@paramweight
*@throwsException*/
public static void LianXiangWorld(String content, int weight) throwsException {
Map params =Collections.emptyMap();
Map map = new HashMap<>();
Map map2 = new HashMap<>();
map.put("input", content);
map.put("weight", weight);
map2.put("content", map);
String jsonString=Tool.map2Json(map2);
HttpEntity entity= newNStringEntity(jsonString, ContentType.APPLICATION_JSON);
Response response= client.performRequest("POST", "/suggester_sku/doc", params, entity);
System.out.println(response);
}/*** 2.查看联想词
*@throwsException*/@Testpublic void QueryLianXiangWorld() throwsException {
String method= "POST";
String endpoint= "/suggester_sku/_search/";
HttpEntity entity= new NStringEntity("{\n" +
" \"query\": {\n" +
" \"match_all\": {}\n" +
" }\n" +
"}", ContentType.APPLICATION_JSON);
Response response= client.performRequest(method,endpoint, Collections.emptyMap(),entity);
System.out.println(EntityUtils.toString(response.getEntity()));
}/*** 3.搜索联想词*/
public static void SearchLianXiangWorld(String text) throwsIOException {
Map params =Collections.emptyMap();
Map map = new HashMap<>();
Map map1 = new HashMap<>();
Map map2 = new HashMap<>();
Map map3 = new HashMap<>();
map3.put("field", "content");
map3.put("skip_duplicates", true);
map3.put("field", 10);
map2.put("prefix", text);
map2.put("completion", map3);
map1.put("my-suggest", map2);
map.put("suggest", map1);
String jsonString=Tool.map2Json(map);
System.out.println(jsonString);
HttpEntity entity= newNStringEntity(jsonString, ContentType.APPLICATION_JSON);
Response response= client.performRequest("GET", "/suggester_sku/doc/_search", params, entity);
String responseBody=EntityUtils.toString(response.getEntity());
System.out.println(responseBody);
}/*** 4.初始化completion
*@throwsException*/@Testpublic void CreateDocument()throwsException{
String method= "POST";
String endpoint= "/suggester_sku/doc/_mapping";
Map map = new HashMap<>();
Map map2 = new HashMap<>();
Map map3 = new HashMap<>();
map.put("type", "completion");
map2.put("content", map);
map3.put("properties", map2);
String jsonString=Tool.map2Json(map3);
HttpEntity entity= newNStringEntity(jsonString, ContentType.APPLICATION_JSON);
Response response= client.performRequest(method,endpoint, Collections.emptyMap(),entity);
System.out.println(EntityUtils.toString(response.getEntity()));
}
}