网站 流程,陕西高端品牌网站建设价格,品牌网站建设 蝌4蚪小,民宿平台搜索量上涨文章目录 初始化RestHighLeveClient#xff08;必要条件#xff09;索引库操作1.创建索引库#xff08;4步#xff09;2.删除索引库#xff08;3步#xff09;3.判断索引库是否存在#xff08;3步#xff09;4.总结#xff1a;四步走 文档操作1.创建文档#xff08;4… 文章目录 初始化RestHighLeveClient必要条件索引库操作1.创建索引库4步2.删除索引库3步3.判断索引库是否存在3步4.总结四步走 文档操作1.创建文档4步2.删除文档3步3.查看文档4步4.增量修改文档(局部更新)4步5.批量创建文档4步6.总结五步走 Elasticsearch查询语法1.全文检索5步match_allmatchmulti_match 2.精确查找termrange 3.复合查询Bool Query5步function score广告置顶 排序sort分页from/size高亮highlight总结 初始化RestHighLeveClient必要条件
!--Maven配置--
!--引入es的RestHignLeveClient依赖--
dependencygroupIdorg.elasticsearch.client/groupIdartifactIdelasticsearch-rest-high-level-client/artifactId
/dependency
!--因为SpringBoot默认的ES版本是7.6.2所以我们需要覆盖默认的ES版本:--
propertiesjava.version1.8/iava.versionelasticsearch,version7.12.1/elasticsearch.version
/properties//1.初始化RestHighLeveClient
RestHighLeveClient client new RestHighLeveClient(RestClient.builder(//写自己的ES地址HttpHost.create(localhost:9200);
))索引库操作
1.创建索引库4步
//2.相当于 PUT /索引名
CreateIndexRequest request new CreateIndexRequest(索引库名);
//3.相当于请求体JSON风格
request.source(请求体,XContentType.JSON);
//4.发起请求.indices()包含索引库操作的的所有方法
client.indices().create(request,RequestOptions.DEFAULT);2.删除索引库3步
// 2.相当于 DELETE /索引库名
DeleteIndexRequest request new DeleteIndexRequest(索引库名);//3.发起请求
client.indices().create(request,RequestOptions.DEFAULT);3.判断索引库是否存在3步
// 2.相当于 GET /索引库名
GetIndexRequest request new GetIndexRequest(索引库名称);// 3.发起请求
boolean exists client.indices.exists(request,RequestOptions.DEFAULT);//输出查看是否存在是为true,不是为false
System.out.println(exists);4.总结四步走 从这里可以看出创建索引有四步其余只有三步
文档操作
1.创建文档4步
// 2.相当于POST /索引库名/_doc/文档id
IndexRequest request new IndexRequest(索引库名).id(文档id);
// 3.准备json文档也就是文档的内容请求体
request.source(请求体,XContentType.JSON);
// 4.发送请求
client.index(request,RequestOptions.DEFAULT);/**注意
*如果是请求体是实体对象请序列化成JSON.toJSONString(请求体)
*文档id在ES默认是keyword在java中也就是String类型,需要toString()转成字符串
*/2.删除文档3步
// 2.相当于 DELETE /索引库名/_doc/文档id
DeleteRequest request new DeleteRequest(索引库名,文档id);
// 3.发送请求
client.delete(request,RequestOptions.DEFAULT);3.查看文档4步
// 2.相当于 GET /索引库名/_doc/文档id
GetRequest request new GetRequest(索引库名,文档id);
// 3.发送请求
GetResponse response client.get(request,RequestOptions.DEFAULT)
// 4.解析结果
String json response.getSourceAsString();
System.out.println(json)4.增量修改文档(局部更新)4步
// 2.相当于 POST /索引库名/ _update/文档id
UpdateRequest request new UpdateRequest(indexName,文档id);// 3.准备参数
request.doc(age:18,name:Rose
)
// 4.更新文档
client.update(request,RequestOptions.DEFAULT)5.批量创建文档4步
// 2.创建Bulk请求
BulkRequest request new BulkRequest();
// 3.准备参数添加多个IndexRequest(),以实体类为例
for(Student student:students){Student student new Student();request.add(new IndexRequest(索引库名).id(student.getId()).source(JSON.toJSONString(student),XContentType.JSON);)
}
// 4.发送请求
client.bulk(request,RequestOptions.DEFAULT)6.总结五步走 Elasticsearch查询语法
1.全文检索5步
match_all
// match_all
// 2.准备request
SearchRequest request new SearchRequest(索引库名);
// 3.组织DSL参数
request.source.query(QueryBuilders.matchAll());
// 4.发送请求得到结果
SearchResponse response client.search(request,RequestOptions.DEFAULT);// 5.解析响应结果
SearchHits searchHits response.getHits();
// 5.1获取总条数
long total searchHits.getTotalHits().value;
// 5.2获取文档数组并且遍历
SearHits[] hits searchHits.getHits();
for(SearchHits hit : hits){//获取文档数据源String json hit.getSourceAaString();//反序列化HoteDoc hotelDoc JSON.parseObject(json,HoteDoc.class);
}System.out.println(response);match
//在match_all第5行修改
QueryBuilders.matchQuery(要查询的字段,查询的内容);multi_match
//在match_all第5行修改
QueryBuilders.multiMatchQuery(要查询的内容,被查询的字段,被查询的字段);2.精确查找
term
//在match_all第5行修改
QueryBuilders.termQuery(查询字段,被查询的内容)range
//在match_all第5行修改
QueryBuilders.rangeQuery(被查询字段).get(100).lte(150)3.复合查询
Bool Query5步
// 2.准备request
SearchRequest request new SearchRequest(索引库名);
// 3.复合条件
BoolQueryBuilder boolQuery QueryBuilders.boolQuery();
boolQuery.must();
boolQuery.filter();
// 3.1组织DSL参数
request.source.query(boolQuery);
// 4.发送请求得到结果
SearchResponse response client.search(request,RequestOptions.DEFAULT);// 5.解析结果
function score广告置顶
// 2.准备request
SearchRequest request new SearchRequest(索引库名);// 3.复合条件
FunctionScoreQueryBuilder functionScoreQuery QueryBuilders.functionScoreQuery(//原始查询QueryBuilders.matchAll();//functionnew FunctionScoreQueryBuilder.FilterFunctionBuilder(//过滤条件QueryBuilders.termQuery(查询字段,被查询的内容)//算分函数ScoreFunctionBuilders.weightFactorFunction(10)))
// 3.1组织DSL参数
request.source.query(functionScoreQuery);// 4.发送请求得到结果
SearchResponse response client.search(request,RequestOptions.DEFAULT);排序sort
// 普通字段排序
request.source.sort(要排序的字段,排序方式);// 地理坐标距离排序
request.source.sort(SortBuilders.geoDistanceSort(geo_point类型字段,new GeoPoint(经度,纬度)).order(SortOrder.ASC).unit(DistanceUnit.KILOMETERS)
)分页from/size
request.source.from(0).size(5);高亮highlight
// 2.准备request
SearchRequest request new SearchRequest(索引库名);
// 3.准备DSL查询出来的字段
request.source.query(QueryBuilders.matchQuery(要查询的字段,查询的内容))
// 3.1对查询出来的字段高亮显示
request.source.highlighter(new HighlightBuilder().field(要高亮的字段).requireFieldMatch(false)//是否需要与查询字段匹配
)
// 4.发送请求
SearchResponse response client.search(request,RequestOptions.DEFAULT);//高亮结果的处理
// 5.解析响应结果
SearchHits searchHits response.getHits();
// 5.1获取总条数
long total searchHits.getTotalHits().value;
// 5.2获取文档数组并且遍历
SearHits[] hits searchHits.getHits();
for(SearchHits hit : hits){//获取文档数据源String json hit.getSourceAaString();//反序列化HoteDoc hotelDoc JSON.parseObject(json,HoteDoc.class);//获取高亮结果MapString,HighlightField highlightFields hit.getHighlightFields();if(!CollectionUtils.isEmpty(highlightFields)){//根据字段获取高亮结果HighlightFields highlightField highlightFields.get(name);if(highlightField ! null){highlightField.getFragments()[0].string();hotelDoc.setName(name);}}
}总结
文章转载自: http://www.morning.sxbgc.cn.gov.cn.sxbgc.cn http://www.morning.plpqf.cn.gov.cn.plpqf.cn http://www.morning.tnjz.cn.gov.cn.tnjz.cn http://www.morning.srxhd.cn.gov.cn.srxhd.cn http://www.morning.mlcnh.cn.gov.cn.mlcnh.cn http://www.morning.jpbpc.cn.gov.cn.jpbpc.cn http://www.morning.wcczg.cn.gov.cn.wcczg.cn http://www.morning.qsbcg.cn.gov.cn.qsbcg.cn http://www.morning.ryjl.cn.gov.cn.ryjl.cn http://www.morning.tfgkq.cn.gov.cn.tfgkq.cn http://www.morning.kqpxb.cn.gov.cn.kqpxb.cn http://www.morning.jwtjf.cn.gov.cn.jwtjf.cn http://www.morning.gnghp.cn.gov.cn.gnghp.cn http://www.morning.pxbky.cn.gov.cn.pxbky.cn http://www.morning.nswcw.cn.gov.cn.nswcw.cn http://www.morning.dycbp.cn.gov.cn.dycbp.cn http://www.morning.pzbqm.cn.gov.cn.pzbqm.cn http://www.morning.zxqxx.cn.gov.cn.zxqxx.cn http://www.morning.shnqh.cn.gov.cn.shnqh.cn http://www.morning.wxfjx.cn.gov.cn.wxfjx.cn http://www.morning.tlpgp.cn.gov.cn.tlpgp.cn http://www.morning.tyrlk.cn.gov.cn.tyrlk.cn http://www.morning.ykrkb.cn.gov.cn.ykrkb.cn http://www.morning.gmnmh.cn.gov.cn.gmnmh.cn http://www.morning.wzknt.cn.gov.cn.wzknt.cn http://www.morning.tqsmc.cn.gov.cn.tqsmc.cn http://www.morning.lpbrp.cn.gov.cn.lpbrp.cn http://www.morning.qxlyf.cn.gov.cn.qxlyf.cn http://www.morning.hwlmy.cn.gov.cn.hwlmy.cn http://www.morning.nkjxn.cn.gov.cn.nkjxn.cn http://www.morning.dbrnl.cn.gov.cn.dbrnl.cn http://www.morning.tpnxr.cn.gov.cn.tpnxr.cn http://www.morning.krqhw.cn.gov.cn.krqhw.cn http://www.morning.flxqm.cn.gov.cn.flxqm.cn http://www.morning.yrblz.cn.gov.cn.yrblz.cn http://www.morning.grpbt.cn.gov.cn.grpbt.cn http://www.morning.jpwkn.cn.gov.cn.jpwkn.cn http://www.morning.kpgms.cn.gov.cn.kpgms.cn http://www.morning.rwhlf.cn.gov.cn.rwhlf.cn http://www.morning.xdttq.cn.gov.cn.xdttq.cn http://www.morning.xpwdf.cn.gov.cn.xpwdf.cn http://www.morning.bnzjx.cn.gov.cn.bnzjx.cn http://www.morning.bwjws.cn.gov.cn.bwjws.cn http://www.morning.mbhdl.cn.gov.cn.mbhdl.cn http://www.morning.jqwpw.cn.gov.cn.jqwpw.cn http://www.morning.bfgpn.cn.gov.cn.bfgpn.cn http://www.morning.lpsjs.com.gov.cn.lpsjs.com http://www.morning.hysqx.cn.gov.cn.hysqx.cn http://www.morning.jwncx.cn.gov.cn.jwncx.cn http://www.morning.lmjtp.cn.gov.cn.lmjtp.cn http://www.morning.hkpn.cn.gov.cn.hkpn.cn http://www.morning.bsxws.cn.gov.cn.bsxws.cn http://www.morning.pltbd.cn.gov.cn.pltbd.cn http://www.morning.lgpzq.cn.gov.cn.lgpzq.cn http://www.morning.mhmsn.cn.gov.cn.mhmsn.cn http://www.morning.c7624.cn.gov.cn.c7624.cn http://www.morning.ktntj.cn.gov.cn.ktntj.cn http://www.morning.qlrtd.cn.gov.cn.qlrtd.cn http://www.morning.rryny.cn.gov.cn.rryny.cn http://www.morning.gqjwz.cn.gov.cn.gqjwz.cn http://www.morning.xqgfy.cn.gov.cn.xqgfy.cn http://www.morning.rqfnl.cn.gov.cn.rqfnl.cn http://www.morning.xpzkr.cn.gov.cn.xpzkr.cn http://www.morning.xhwty.cn.gov.cn.xhwty.cn http://www.morning.nnwpz.cn.gov.cn.nnwpz.cn http://www.morning.jhrlk.cn.gov.cn.jhrlk.cn http://www.morning.lsfzq.cn.gov.cn.lsfzq.cn http://www.morning.lrwsk.cn.gov.cn.lrwsk.cn http://www.morning.kycwt.cn.gov.cn.kycwt.cn http://www.morning.wlqbr.cn.gov.cn.wlqbr.cn http://www.morning.bjndc.com.gov.cn.bjndc.com http://www.morning.wqjpl.cn.gov.cn.wqjpl.cn http://www.morning.qjldz.cn.gov.cn.qjldz.cn http://www.morning.bpmtl.cn.gov.cn.bpmtl.cn http://www.morning.kztts.cn.gov.cn.kztts.cn http://www.morning.ahscrl.com.gov.cn.ahscrl.com http://www.morning.ltkms.cn.gov.cn.ltkms.cn http://www.morning.llllcc.com.gov.cn.llllcc.com http://www.morning.hcsnk.cn.gov.cn.hcsnk.cn http://www.morning.xtxp.cn.gov.cn.xtxp.cn