pom文件引入以下依赖
<dependencies>
<!-- 添加ElasticSearch的启动器 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-elasticsearch</artifactId>
</dependency>
</dependencies>
application.properties配置
#elasticsearch
spring:
data:
elasticsearch:
cluster-name: my-elasticsearch
cluster-nodes: 127.0.0.1:9301,127.0.0.1:9302,127.0.0.1:9303
创建一个Entity
@Document(indexName = "baseinfo", type = "user")
public class DUser {
@Id
@Field(type = FieldType.Integer, store = true)
private long id;
@Field(type = FieldType.Text, store = true, analyzer = "ik_max_word")
private String username;
@Field(type = FieldType.Text, store = true, analyzer = "ik_max_word")
private String password;
@Field(type = FieldType.Text, store = true, analyzer = "ik_max_word")
private String name;
//get、set...
}
创建Repository
public interface UserRepository extends ElasticsearchRepository<UserEntity, Integer> {
}
测试方法
@RunWith(SpringRunner.class)
@SpringBootTest(classes = Application1.class)
public class ElasticSearchTest {
@Autowired
private UserRepository userRepository;
@Autowired
private ElasticsearchTemplate elasticsearchTemplate;
@Test
public void createIndex() {
elasticsearchTemplate.createIndex(DUser.class);
elasticsearchTemplate.putMapping(DUser.class);
}
@Test
public void testUserRepository() {
DUser user = new DUser();
user.setId(1);
user.setUsername("zhangsan");
user.setPassword("123");
user.setName("张三");
userRepository.save(user);
}
}
SpringBoot同时整合Redis和ElasticSearch时报错
解决方法:
在运行参数中添加:
-Des.set.netty.runtime.available.processors=false