SpringBoot整合es搜索引擎

SpringBoot整合es搜索引擎,java实现增删改查操作

1、在搜索上创建索引库:
在这里插入图片描述
2、添加依赖
《dependency》
《groupId》org.springframework.boot《/groupId》
《artifactId》spring-boot-starter-data-elasticsearch《/artifactId》
《/dependency》

3、在application.properties中配置连接信息
spring.data.elasticsearch.cluster-name=elasticsearch
spring.data.elasticsearch.cluster-nodes=192.168.100.25:9300

4、防止报错,配置组件
@Configuration
public class EleaticsearchConfig {

@PostConstruct
void init() {
    System.setProperty("es.set.netty.runtime.available.processors", "false");
}

}

5、编写实体类
@Document(indexName = “coreqi”, type = “user”)
public class EsUser implements Serializable {

@Id //主键
private String id;  //ES中id不能定义为Long
private String username;
private String password;
private Integer enabled;


public String getId() {
    return id;
}

public void setId(String id) {
    this.id = id;
}

public String getUsername() {
    return username;
}

public void setUsername(String username) {
    this.username = username;
}

public String getPassword() {
    return password;
}

public void setPassword(String password) {
    this.password = password;
}

public Integer getEnabled() {
    return enabled;
}

public void setEnabled(Integer enabled) {
    this.enabled = enabled;
}

public EsUser(String id, String username, String password, Integer enabled) {
    this.id = id;
    this.username = username;
    this.password = password;
    this.enabled = enabled;
}

@Override
public String toString() {
    return "EsUser{" +
            "id='" + id + '\'' +
            ", username='" + username + '\'' +
            ", password='" + password + '\'' +
            ", enabled=" + enabled +
            '}';
}

}

6、配置Repository类
/**

  • 类似于jpa,
  • 第一个 泛型是JavaBean类型
  • 第二个 泛型是主键类型
    */
    public interface EsUserRepository extends ElasticsearchRepository<EsUser,String> {
Page<EsUser>  findEsUsersByUsername(String username, Pageable pageable);
List<EsUser>  findByUsernameLike(String username);

}

7、测试
@RunWith(SpringRunner.class)
@SpringBootTest
public class ElaticsearchTest {

@Autowired
private EsUserRepository esUserRepository;




@Test

public void initRepositoryData() {
    //清除ES中数据以免影响测试结果
    esUserRepository.deleteAll();
    //插入数据
    esUserRepository.save(new EsUser("1", "张三", "admin", 1));
    esUserRepository.save(new EsUser("2", "李四", "root", 1));
    esUserRepository.save(new EsUser("3", "王五", "sa", 1));
}


//查询
@Test
public  void  contextLoads(){
  //  Pageable pageable =   PageRequest.of(0,20);

   // Page<EsUser> result = esUserRepository.findEsUsersByUsername("fanqi",pageable);
    List<EsUser>  result  =  esUserRepository.findByUsernameLike("张");
    for(EsUser user:result){
        System.out.println(user);
    }
}


//查询
@Test
public  void   searchlike(){

   /* List<EsUser> result =
            esUserRepository.findByUsernameLike("fan");
    for(EsUser user:result){
        System.out.println(user.toString());
    }*/
   List<BookTest>  result =  bookRepository.findByBookNameLike("西");
   for (BookTest book : result){
       System.out.println(book);
   }
}

}

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值