zoukankan      html  css  js  c++  java
  • Elasticsearch之联想词示例

    public class LianXiangWord {
        private static RestClient client;
    
        static {
            client=RestClient.builder(new HttpHost("localhost",9200,"http")).build();
        }
    
        public static void main(String[] args) throws Exception {
    //        LianXiangWorld("手机苹果",12);
    //        SearchLianXiangWorld("手");
            SearchLianXiangWorld("手");
        }
    
        /**
         * 1.插入联想词
         * @param content
         * @param weight
         * @throws Exception
         */
        public static   void LianXiangWorld(String content, int weight) throws Exception {
            Map<String, String> params = Collections.emptyMap();
            Map<String, Object> map = new HashMap<>();
            Map<String, Object> map2 = new HashMap<>();
            map.put("input", content);
            map.put("weight", weight);
            map2.put("content", map);
            String jsonString = Tool.map2Json(map2);
            HttpEntity entity = new NStringEntity(jsonString, ContentType.APPLICATION_JSON);
            Response response = client.performRequest("POST", "/suggester_sku/doc", params, entity);
            System.out.println(response);
        }
    
        /**
         * 2.查看联想词
         * @throws Exception
         */
        @Test
        public void QueryLianXiangWorld() throws Exception {
            String method = "POST";
            String endpoint = "/suggester_sku/_search/";
            HttpEntity entity = new NStringEntity("{
    " +
                    "  "query": {
    " +
                    "    "match_all": {}
    " +
                    "  }
    " +
                    "}", ContentType.APPLICATION_JSON);
            Response response = client.performRequest(method,endpoint, Collections.<String, String>emptyMap(),entity);
            System.out.println(EntityUtils.toString(response.getEntity()));
        }
    
        /**
         * 3.搜索联想词
         */
        public static void SearchLianXiangWorld(String text) throws IOException {
            Map<String, String> params = Collections.emptyMap();
            Map<String, Object> map = new HashMap<>();
            Map<String, Object> map1 = new HashMap<>();
            Map<String, Object> map2 = new HashMap<>();
            Map<String, Object> 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 = new NStringEntity(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
         * @throws Exception
         */
        @Test
        public void CreateDocument()throws Exception{
    
            String method = "POST";
            String endpoint = "/suggester_sku/doc/_mapping";
            Map<String, Object> map = new HashMap<>();
            Map<String, Object> map2 = new HashMap<>();
            Map<String, Object> map3 = new HashMap<>();
            map.put("type", "completion");
            map2.put("content", map);
            map3.put("properties", map2);
            String jsonString = Tool.map2Json(map3);
            HttpEntity entity = new NStringEntity(jsonString, ContentType.APPLICATION_JSON);
            Response response = client.performRequest(method,endpoint,  Collections.<String, String>emptyMap(),entity);
            System.out.println(EntityUtils.toString(response.getEntity()));
        }
    }
  • 相关阅读:
    xml学习_上篇
    回首博客 年满一周年,记录90个点滴瞬间
    编写PHP代码总结
    代码高亮插件SyntaxHighlighter
    记忆,是一座沙城!
    dreamweaver中的 map怎么调用?_制作热点图像区域
    手机端rem如何适配_rem详解及使用方法
    彻底弄懂css中单位px和em,rem的区别
    JavaScript学习方法
    10条建议让你创建更好的jQuery插件
  • 原文地址:https://www.cnblogs.com/heqiyoujing/p/11148266.html
Copyright © 2011-2022 走看看