@ springboottestclassjavaesapplicationtests {
@ autowiredprivateresthighlevelclientresthighlevelclient; /*** ES索引数据库,提供RestAPI
*开机自检创建
* PUT变更
*删除
*获取查询*
//创建索引库
@Testvoid creteIndex () throwsioexception(/先发送创建索引库的请求。 test是索引库的名称
createindexrequestrequest=newcreateindexrequest; //从核心对象创建索引库
createindexresponseresponse=resthighlevelclient.indices ().create(request,RequestOptions.DEFAULT ); //ACK确认
system.out.println (response.isacknowledged ();
//判断索引库是否存在
@Testvoid isExists () throwsIOException { ) )
getindexrequesttest=newgetindexrequest (' test ' ); boolean exists=resthighlevelclient.indices ().exists ) test,RequestOptions.DEFAULT );
system.out.println(exists;
//删除索引库
发送删除@Testvoid deleteIndex () throwsioexception(/索引库的请求。 test是索引库的名称
eleteindexrequestrequest=newdeleteindexrequest (' test ); //从核心对象中删除索引库
acknowledgedresponsedelete=resthighlevelclient.indices ().delete(request,RequestOptions.DEFAULT );
系统. out.println (delete.isacknowledged () );
}/*** POST /user/stu/1
* {
* 'uid':1,
* 'uname': '现代白猫',
* 'upwd':'123456 '
* () /
//增加添加/删除/更改文档的操作//数据
@Testvoid insertData () throwsioexception(/首先创建用户对象
用户=new user (3,' tmdrs ',' 123456 '; 创建索引请求的对象,并指定索引库test
indexrequestrequest=newindex request (' test ); //配置类型//版本//6.8.7的ES在未指定文档类型时报告错误。 org.elastic search.action.actionrequestvalidationexception : validation failed 330
request.type(STD ); 设定//id值,如果不指定,则默认为UUID
request.id('2); //设置文档数据源后,它将成为已保存的数据。 数据格式必须导入JSON//fastjson包
request.source (JSON.tojsonstring (user ),XContentType.JSON ); //出现时: Java.net.sockettimeoutexception :30,000 millisecondstimeoutonconnectionhttp-outgoing-0 [ active ]//左右
请求. time out (time value.time value seconds (60 ) ); //开始插入数据
indexresponseindex=resthighlevelclient.index (请求,请求选项. default );
system.out.println (index.status ().getStatus ) ); //查看状态
system.out.println (index.status ().name );//创建
//更新数文档数据
@ test void更新数据() throwsioexception(/指定要更改的索引库、类型和id
updaterequestrequest=newupdaterequest (' test '、' std '、'2' ); //设定数据
/**我的ES版本是6.8.7
*原件: uid:3、uname:tmdrs、wpwd:123456
*(1)只设置user.setUname ('纯真招牌' );==结果: uid:0,uname :纯真招牌,wpwd:123456
*2)只设置user.setUname ('纯真招牌' ); user.setupwd('79856 );==结果: uid:0,uname :纯真招牌,wpwd:79856
*(3) user.setupwd('111111 ' );==结果: uid:0,uname:tmdrs,wpwd:111111*/User user=newUser (;
user.setupwd(111111 );
system.out.println(user ); 转换为JSON格式的数据
request.doc (JSON.tojsonstring (user ),XContentType.JSON ); //更新数据
resthighlevelclient.update (请求,请求选项. default );
//删除数据
@Testvoid deleteData () throwsIOException {
deleterequestrequest=newdeleterequest (' test );
request.type(STD );
request.id('2);
deleteresponsedelete=resthighlevelclient.delete (请求,请求选项. default );
system.out.println (delete.status ().name );
//但条件查询分页
@Testvoid search () throwsIOException {
字符串密钥=' ';
searchrequestsearchrequest=new search request (' test );
searchsourcebuildersearchsourcebuilder=newsearchsourcebuilder (;
matchallquerybuilderquery=query builders.matchallquery (;
searchsourcebuilder.query;
searchsourcebuilder.from(0).size(2) 2;
search request.source (searchsourcebuilder;
searchresponsesearch=resthighlevelclient.search (search request,RequestOptions.DEFAULT );
SearchHit[] hits=search.getHits ().getHits ); //for (搜索高度) )。
}
@TestvoidcontextLoads () {
}
}