ElasticSearch(三)springboot整合ES


最基礎的整合:

一、maven依賴

<parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.0.0.RELEASE</version>
        <relativePath /> <!-- lookup parent from repository -->
    </parent>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-elasticsearch</artifactId>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
        </dependency>
    </dependencies>

二、配置文件application.yml

spring:
  data:
    elasticsearch:
    ####集群名稱
     cluster-name: myes
    ####地址 
     cluster-nodes: 192.168.212.xxx:9300

三、實體類UserEntity

@Document(indexName = "mymayikt", type = "user")
@Data
public class UserEntity {
    @Id
    private String id;
    private String name;
    private int sex;
    private int age;
}

四、dao層代碼(實現CrudRepository就可以了,里面封裝很多操作ES的方法)

public interface UserReposiory extends CrudRepository<UserEntity, String> {

}

五、controller層

@RestController
public class EsController {

    @Autowired
    private UserReposiory userReposiory;

    @RequestMapping("/addUser")
    public UserEntity addUser(@RequestBody UserEntity user) {
        return userReposiory.save(user);
    }

    @RequestMapping("/findUser")
    public Optional<UserEntity> findUser(String id) {
        return userReposiory.findById(id);
    }
}

六、啟動類

@SpringBootApplication
@EnableElasticsearchRepositories(basePackages = "com.dyh.dao")
public class AppEs {

    public static void main(String[] args) {
        SpringApplication.run(AppEs.class, args);
    }
}

 

直接啟動會報錯:

None of the configured nodes are available:

  解決方案(項目配置文件cluster-name要與ElasticSearch的配置文件屬性值要相同):

    Vi /usr/local/elasticsearch-6.4.3/config/elasticsearch.yml

    cluster.name: myes

 

 

也可以參考這個博客:https://www.cnblogs.com/dalaoyang/p/8990989.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM