首页 > 编程知识 正文

es之java分页查询,esjavaapi查询

时间:2023-05-03 09:21:02 阅读:32990 作者:1809

@ 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 () {

}

}

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。