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()));
        }
    }
  • 相关阅读:
    转载:备份HyperV时需要避免的六大错误
    职场必读blog
    sps 2010 出错记录
    MySQL的一些常用命令
    JS 常用 函数
    批处理 启动/关闭 VMware服务
    SQL Server 复制 发布订阅(SQL Server 数据同步)
    JBoss7 入门指南
    SQLServer 数据库 远程备份
    QuickFix/J
  • 原文地址:https://www.cnblogs.com/heqiyoujing/p/11148266.html
Copyright © 2011-2022 走看看