一、MySQL中文件表
业务字段如下,公共字段如创建人,修改时间等随自己需求增加。
file_id_:file表主键。
file_name_:文件名称(中文原名称)。
new_name_:文件新名称(时间戳数字),文件名称在服务器保存时,有可能会重复,所以使用时间戳。
path_:文件在服务器地址。
ext_:文件扩展名,标识文件是docx,pdf,img等格式。
desc_:文件描述。
total_bytes_:总字节数。
record_status_:归档状态。
二、ES中索引库
我创建的索引库名为Grammar。索引库的字段根据自己想要索引什么字段进行设计。
创建索引库有两种方法。
1、使用Kibana语法创建。
2、使用注解创建,项目中创建索引类型后,索引类上方加上注解,项目启动就会自己创建。
第1种方法没什么说的,查询Kibana官方API就行。
第2种@Document注解,以及内部属性简单介绍一下。
点进去如图:
@Document(indexName = “grammar”,type = “grammar”,shards = 3,replicas = 1)
该行注解的意思为索引库名字为grammar,类型为grammar,分片数为3,副本数为1。
关于分片和副本以及ES其他名词介绍放到以后讲,现在主要介绍业务实现。
索引类上有@Document注解,索引类中字段属性上方要加@Field注解。
@Field注解有很多属性,常用的只有三个。
type:字段属性,枚举类型,如FieldType.Keyword,FieldType.Text。默认为FieldType.Auto,自动检测类型,一般自己设置。
index:是否被索引,默认为true,如果某一个字段不想被索引,要改为false。
analyzer:指定分词器,如常用的IK分词器,如果不指定分词器的话,默认使用ES自带分词器,不好用。
分词以及分词器是一个大的概念,后边会单独写一篇博客。