1.导入关键依赖包
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-elasticsearch</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
2.编写配置文件
spring:
data:
elasticsearch:
cluster-name: elasticsearch-test
cluster-nodes: 127.0.0.1:9300
3.编写实体映射
@Data
@AllArgsConstructor
@NoArgsConstructor
//索引名称
@Document(indexName = "testdoct")
public class TestBean implements Serializable {
// 文档id
@Id
private long id;
// 文档field域,指定ik分词模式,格式为text
@Field(analyzer = "ik_smart", type = FieldType.Text)
private String name;
private Integer age;
@Field(analyzer = "ik_smart", type = FieldType.Text)
private String sex;
@Field(analyzer = "ik_smart", type = FieldType.Text)
private String desc;
}
4.DAO层继承ElasticsearchRepository,支持基本操作
public interface TestDao extends ElasticsearchRepository<TestBean, Long> {
// 自定义查询
List<TestBean> findByName(String name);
}
5.使用ElasticsearchRestTemplate做扩展
–基本搜索api
@Autowired
private ElasticsearchRestTemplate template;
/**
*queryWord:搜索字
*searchField:搜索域
*/
@GetMapping("search"