开发者学堂课程【ElasticSearch 最新快速入门教程:Bean 方式】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/642/detail/10638
Bean方式
*测试:增加引方式之 Bean
*/
@
Test
publicvo
i
dtestAddIndexByBean(.throws 3sonProcessingException
IndexRequestBuilderindexRequestBuilderclient. prepareIndex("bigdata".
product".3)
;
BigdataProduct bean new BigdataProduct("
HBase",
“周润发,“2.6.7
"
):
objectMapper mapper new cbjectMapperO:
byte bytes mapper writevalueAsBybean)
system,out. printin(使用 objec tMapper 实例封装 bean,内容是:“+new stringbytes)
;//
{"
name
"
:
SQOOP
"
,
author":张学友,
"l
astversion
"
:
"
5.6.7
""}
IndexResponse
indexResponse= indexReques. setsourcebytes).get
()
//下述方式可以,但是不推荐
//IndexResponse indexResponse
=
indexRequestBuilder. setsource("nme","
SQOOP
","author",张学
"."last_version"."5.6.
7"
).get
()
:
system
.
out. printIn(
"
增加索引方式之Bean方式,成功否?
"+
indexResponse. iscreated
()
)
}
索引是否成功可以看一下 is created,建立一个 byte,以后建一个 mapper,有一个 API 叫做 writevalue asbyte 能构成一个 bean 转换成字节数组,准备一个 bean 的实例,下面就应该是可以成功的,API 应该是比较简单的。
这里有一个核心的 API 叫做 object mapper,这个实例我们需要交一个实例, 把它封装进去,把它变成一个字节数组,就可以成功了,下面来看一下,使用 bean 方式来询证索引信息。
下面呢再准备一个字节数组的实例, 这里面有一个叫做并 beanbytes,有一个核心 API 叫做 objectmapper,这个实例破解完之后,方法就能够将一个实例那变成字节数组。
参数需要准备一个叫做字节数组,下面需要准备字节数组,可以使用 API 将一个实例转化为字节数组,Data bind 里面有相应的代码,能够将一个实例转化为字节数组,以 elasticsearch 里面的依赖暂时可以注释掉,刷新一下。
直接 new objectMapper,没有导进来 索引还是需要 dateBind 依赖包进来,我 dr 里面有 name ,author,version。
这里面已经有三条索引信息,看一下 Bean 的方式新增索引是否成功。又见观察,然后刷新,看一下自身的进度。
*使用Bean的方式新增索引
*/
@Test
publicvoidtestNewAddindexBeanWay()throws JsonProcessingException {
System.out.printin("正式开始使用【使用 Bean 的方式新增索引】了哦…");
byte[]beanBytes=new ObjectMapper).writeValueAsBytes(new Product( name "Flink", auther. "舍我其谁",version:"2.3.8""));
IndexResponse response client. prepareIndex(INDEX, TYPE, "2"). setSource(beanBytes, XcontentType. SMILE)-get();
System. outprintf待新增的引信息是:%s,es 集群反馈的结果是:%s%new String(beanBytes)responsa.tostring()
}
前处理操作,下面正式开始进行,使用 Bean 的方式来新增索引,正常添加到索引库中,就证明成功。
The number of object pasted must be even but was [1],Setsource 应该传一个字节数组,后面得传一个xcontenttype。
Application/smile 这种格式,Application/ cbor 这种格式,看一下 smile 这种格式是否能新增过去,刚才地址页新增失败,看一下是否执行完毕,进行全局初始化的操作,这个 API 可以把一个字节实例变成字节数组,Mapper 检测异常,必须执行一个对象,仔细看一下,刷新,的确没有进去。
后面的参数也可以指定的 JSON 方式,因为执行的后台也是 JSON 方式,新增成功后刷新一下,这是没有问题的,必须要指定第二个参数。
objack mapper 对应的包名是 JSON 的包,设置参数的时候需要传两个参数,字节数组和他的类型。