ElasticSearch 通过idea 上传数据

 <dependency>
            <groupId>org.elasticsearch.client</groupId>
            <artifactId>elasticsearch-rest-high-level-client</artifactId>
            <version>7.4.2</version>
        </dependency>
 <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
            <version>2.10.0</version>
        </dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-core</artifactId>
            <version>2.10.0</version>
        </dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.dataformat</groupId>
            <artifactId>jackson-dataformat-smile</artifactId>
            <version>2.10.0</version>
        </dependency>

这个jackson 太高 版本可能会导致冲突 无法正常运行

 

 

 

 

 

 

 覆盖掉默认的版本

 

 

 

添加对应的elasticSearch配置类

 

 

 

@Configuration
public class ElasticSearchConfiguration {
    @Bean
    public RestHighLevelClient restHighLevelClient(){
        //可以在builder 中添加多个主机
        RestClientBuilder builder = RestClient.builder(new HttpHost("192.168.1.137", 9200, "http"));
        RestHighLevelClient client = new RestHighLevelClient(builder);
        return client;
    }
    
}

 

 

 

 

 

 

 

package com.msb.mall.mallsearch;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.msb.mall.mallsearch.config.ElasticSearchConfiguration;
import lombok.Data;
import org.elasticsearch.action.index.IndexRequest;
import org.elasticsearch.action.index.IndexResponse;
import org.elasticsearch.client.RestHighLevelClient;
import org.elasticsearch.common.xcontent.XContentType;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import java.io.IOException;

@SpringBootTest
class MallSearchApplicationTests {
    
    @Autowired
    private RestHighLevelClient restHighLevelClient;
    
    @Test
    void contextLoads() {
    
        System.out.println("restHighLevelClient---->"+restHighLevelClient);
    }
    
    /**
     * 测试保存文档
     */
    @Test
    void saveIndex() throws IOException {
    
        IndexRequest indexRequest = new IndexRequest("system");
        indexRequest.id("1");
        //indexRequest.source("name","lcc","age","18","gender","男");//测试   文档属性
        User user = new User();
        user.setName("lcc");
        user.setAge(22);
        user.setGender("");
        //用jackson中的对象转换json数据
        ObjectMapper objectMapper = new ObjectMapper();
        String json = objectMapper.writeValueAsString(user);
        indexRequest.source(json, XContentType.JSON);
        //执行操作
        IndexResponse index = restHighLevelClient.index(indexRequest, ElasticSearchConfiguration.COMMON_OPTIONS);
        //提取有用的的返回信息
        System.out.println(index);
    
    
    }
    
    @Data
     class User{
        private String name;
        private Integer age;
        private String gender;
    }
    
}

 

posted @ 2022-05-28 22:33  花心大萝卜li  阅读(121)  评论(0)    收藏  举报