全文检索服务器-es
好处:
降低数据库压力
提高了查询速度,增强用户体验-基于索引搜索,效率远远数据库搜索
搭建es环境
启动es服务端
启动es图形界面客户端
有下面这个页面就说明成功了
用java操作
1.导入jar包
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<!--springboot 对spring data es支持-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-elasticsearch</artifactId>
</dependency>
2.配置yml
spring:
data:
elasticsearch:
cluster-name: elasticsearch
cluster-nodes: 127.0.0.1:9300 #9200是图形界面端,9300代码端
3.写一个入口类
4.测试
创建索引并且做类型映射
@Document(indexName = "hrm",type = "employee")
public class Employee{
@Id
private Long id;
@Field(type = FieldType.Keyword)
Private String name;
Private Interger age;
Private String intro
//模糊查询所有字段
@Field(type =FieldType.Text,analyzer = "ik_max_word",searchAnalyzer = "ik_max_word")
private String all; //name intro
//投机-有空格就会分词
String all = product.getName()+" "
+product.getIntro;
做这个之前还要在es中加入分词器