elasticsearch怎样java定义mapping

elasticsearch怎样java定义mapping,第1张

Mapping,就是对索引库中索引的字段名及其数据类型进行定义,类似于关系数据库中表建立时要定义字段名及其数据类型那样,不过es的mapping比数据库灵活很多,它可以动态添加字段。一般不需要要指定mapping都可以,因为es会自动根据数据格式定义它的类型,如果你需要对某些字段添加特殊属性(如:定义使用其它分词器、是否分词、是否存储等),就必须手动添加mapping。有两种添加mapping的方法,一种是定义在配置文件中,一种是运行时手动提交mapping,两种选一种就行了。

先介绍在配置文件中定义mapping,你可以把[mapping名].json文件放到config/mappings/[索引名]目录下,这个目录要自己创建,一个mapping和一个索引对应,你也可以定义一个默认的mapping,把自己定义的default-mapping.json放到config目录下就行。json格式如下:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

{

"mappings":{

"properties":{

"title":{

"type":"string",

"store":"yes"

},

"description":{

"type":"string",

"index":"not_analyzed"

},

"price":{

"type":"double"

},

"onSale":{

"type":"boolean"

},

"type":{

"type":"integer"

},

"createDate":{

"type":"date"

}

}

map是一种数据结构,就是key-value对,可以通过key获取value,key不可以重复,value可以。

mapping就是建立map的过程,也就是把一些定义做成key-value对,便于后续使用。如果用中文说的话,就是建立起映射关系。

这个

按照我的理解

首先自定义注解要有自己的编译解释方法的

在这个便已解释方法中估计需要连接数据库(当然最基本的jdbc什么的)

当然连接数据库什么的涉及到配置文件

通过jdbc获取到数据库信息

把注解中的参数与数据库中的信息关联(简单的就可以存成List<Map等方式)由于注解的参数一般是类名。你可以

用反射的方式或其他方式(比如字节码什么的)来处理获取类的属性

然后

我感觉关联完了

就没啥然后了

感觉主要是在注解的编译解释方法中做写东西

当然

提高效率也可以用数据库连接池什么的


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/6690320.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-03-26
下一篇2023-03-26

发表评论

登录后才能评论

评论列表(0条)

    保存