1 Lucene实现全⽂检索
1.1 项目部署
1.1.1 导入 pox.xml 依赖
<!-- 引入Lucene核心包及分词器包 -->
<dependency>
<groupId>org.apache.lucene</groupId>
<artifactId>lucene-core</artifactId>
<version>4.10.3</version>
</dependency>
<dependency>
<groupId>org.apache.lucene</groupId>
<artifactId>lucene-analyzers-common</artifactId>
<version>4.10.3</version>
</dependency>
<!-- 单元测试 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<!-- 热部署 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
<optional>true</optional>
</dependency>
<!-- Lombok工具 -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<!-- IK中文分词器 -->
<dependency>
<groupId>com.janeluo</groupId>
<artifactId>ikanalyzer</artifactId>
<version>2012_u6</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
</dependency>
1.1.2 配置 application.yml 文件
server:
port: 9000
Spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/es_db?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=UTC
username: root
password: 123
# 开启驼峰命名匹配映射
mybatis:
configuration:
map-underscore-to-camel-case: true
1.1.3 创建实体类时可能出现的问题
说明:SpringBoot项⽬启动提示This primary key of “id” is primitive !不建议如此请使⽤包装类in Class: “com.yx.pojo.JobInfo”。
1.解决⽅法:
使⽤包装类替换基本数据类型。将id字段封装成Long类型或Integer类型,具体选择什么类型取 决于数据库中该id字段的类型。
2.警告原因:
如果⽤long的话id的默认值会是0,会出现⼀些问题,⽐如在MyBatis-Plus使⽤save()⽅法时就 不能使⽤算法⽣成id了,这样会⽣成id为0的数据,如果有唯⼀或者主键约束的话,下⼀次⽣成就会报错。