es 新版
public class EstablishIndex { public static JdbcTemplate getLocalHostTemplate() { DriverManagerDataSource driverManagerDataSource = new DriverManagerDataSource(); driverManagerDataSource.setDriverClassName("com.mysql.jdbc.Driver"); driverManagerDataSource.setUrl("jdbc:mysql://localhost:3306/contract_manage"); driverManagerDataSource.setUsername("root"); driverManagerDataSource.setPassword("root"); return new JdbcTemplate(driverManagerDataSource); } public static RestHighLevelClient getRestHighLevelClient() { return new RestHighLevelClient(RestClient.builder(new HttpHost("127.0.0.1", 9200, "http"))); } public static void main(String[] args) throws Exception { // createIndex(); batchSave(); } /** * 批量新增 * * @param * @return 返回保存结果 * @throws Exception exception */ public static BulkResponse batchSave() { try { RestHighLevelClient client = getRestHighLevelClient(); JdbcTemplate localHostTemplate = getLocalHostTemplate(); String sql = "select * from sys_clause"; List<Map<String, Object>> list = localHostTemplate.queryForList(sql); BulkRequest bulkRequest = new BulkRequest(); for (Map<String, Object> map : list) { Map<String, Object> mapTo = new HashMap<>(); for (String key : map.keySet()) { String s = Tool.lineToHump(key); String value = map.get(s) == null ? "" : map.get(s).toString().trim(); // 这个对象字段get方法的值 mapTo.put(s, value); } String s = JSON.toJSONString(mapTo, SerializerFeature.WriteMapNullValue); System.out.println(s); } return client.bulk(bulkRequest, RequestOptions.DEFAULT); } catch (Exception e) { return null; } } private static void createIndex() throws Exception { CreateIndexRequest createIndexRequest = new CreateIndexRequest("es_clause_index"); XContentBuilder builder = XContentFactory.jsonBuilder(); builder.startObject(); { builder.startObject("properties"); { builder.startObject("id"); { builder.field("type", "keyword"); } builder.endObject(); builder.startObject("content"); { builder.field("type", "text").field("analyzer", "ik_smart").field("search_analyzer", "ik_max_word"); } builder.endObject(); builder.startObject("tags"); { builder.field("type", "text").field("analyzer", "ik_smart").field("search_analyzer", "ik_max_word"); } builder.endObject(); } builder.endObject(); } builder.endObject(); createIndexRequest.mapping(builder); CreateIndexResponse response = getRestHighLevelClient().indices().create(createIndexRequest, RequestOptions.DEFAULT); System.out.println(response); } }
故乡明
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通