当前位置: 首页 > news >正文

职场seo是什么意思seo企业站收录

职场seo是什么意思,seo企业站收录,拓者设计吧网站官网,网站建设站长之家目录 一、基于 JavaRestClient 查询文档 1.1、查询 API 演示 1.1.1、查询基本框架 DSL 请求的对应格式 响应的解析 1.1.2、全文检索查询 1.1.3、精确查询 1.1.4、复合查询 1.1.5、排序和分页 1.1.6、高亮 一、基于 JavaRestClient 查询文档 1.1、查询 API 演示 1.1.…

目录

一、基于 JavaRestClient 查询文档

1.1、查询 API 演示

1.1.1、查询基本框架

DSL 请求的对应格式

响应的解析

1.1.2、全文检索查询

1.1.3、精确查询

1.1.4、复合查询

1.1.5、排序和分页

1.1.6、高亮


一、基于 JavaRestClient 查询文档


1.1、查询 API 演示

1.1.1、查询基本框架

接下里通过一个 match_all 查询所有,来演示以下基本的 API.

    @Testpublic void testMatchAll() throws IOException {//1.准备 SearchRequestSearchRequest request = new SearchRequest("hotel");//2.准备参数request.source().query(QueryBuilders.matchAllQuery());//3.发送请求,并接收响应SearchResponse response = client.search(request, RequestOptions.DEFAULT);//4.解析响应handlerResponse(response);}/*** 处理响应* @param response*/private void handlerResponse(SearchResponse response) {//1.解析结果SearchHits hits = response.getHits();//获取总条数long total = hits.getTotalHits().value;SearchHit[] hits1 = hits.getHits();for(SearchHit searchHit : hits1) {//获取sourceString json = searchHit.getSourceAsString();System.out.println(json);}}

由上可以看出查询的基本步骤如下:

  1. 创建 SeaechRequest 对象,指定索引库.
  2. Request.source() 准备参数,也就是 DSL.
    1. 通过 QueryBuilders 构建查询条件.
    2. 传入 Request.source() 的 query() 方法,构建好完整的查询.
  3. 发送请求,得到结果.
  4. 解析结果(又外而内,逐层解析).

DSL 请求的对应格式

DSL 语句的构建是通过 HighLevelRestClient 中的 Resource 实现的,其中包含了 查询、排序】分页、高亮等所有功能.

其中  query 表示查询的意思,他的查询条件的是由 QueryBuilders 的工具类提供的,包含了各种查询方法.

响应的解析

响应解析这里,可以在 Kibana 上通过查询结果,对比着看出 API 的调用关系.

1.1.2、全文检索查询

全文检索的 match 和 multi_match 查询和前面演示的 match_all 调用的 API 基本一致,差别就是查询条件,也就是 query 部分(通过 QueryBuilders 构建的条件不一样).

    @Testpublic void testMatch() throws IOException {//1.准备 SearchRequestSearchRequest request = new SearchRequest("hotel");//2.准备参数request.source().query(QueryBuilders.matchQuery("brand", "如家"));//3.发送请求,并接收响应SearchResponse response = client.search(request, RequestOptions.DEFAULT);//4.解析响应handlerResponse(response);}

multi_match 也是如此,只是可以支持多个参数查询.

    @Testpublic void testMultiMatch() throws IOException {//1.准备 SearchRequestSearchRequest request = new SearchRequest("hotel");//2.准备参数request.source().query(QueryBuilders.multiMatchQuery("如家", "brand", "name"));//3.发送请求,并接收响应SearchResponse response = client.search(request, RequestOptions.DEFAULT);//4.解析响应handlerResponse(response);}

运行结果:

1.1.3、精确查询

精确查询常见的有 term 查询 和 range 查询,同样利用 QueryBuilders 实现.

    @Testpublic void testTerm() throws IOException {//1.准备 SearchRequestSearchRequest request = new SearchRequest("hotel");//2.准备参数request.source().query(QueryBuilders.termQuery("city", "上海"));//3.发送请求,并接收响应SearchResponse response = client.search(request, RequestOptions.DEFAULT);//4.解析响应handlerResponse(response);}

range 查询也是如此.

    @Testpublic void testRange() throws IOException {//1.准备 SearchRequestSearchRequest request = new SearchRequest("hotel");//2.准备参数request.source().query(QueryBuilders.rangeQuery("price").gte(100).lte(200)); //链式调用//3.发送请求,并接收响应SearchResponse response = client.search(request, RequestOptions.DEFAULT);//4.解析响应handlerResponse(response);}

1.1.4、复合查询

布尔查询是一个或多个查询子句的组合. 子查询的组合方式有:

  • must:必须匹配的查询条件,类似 “与”.
  • should:选择性匹配的查询条件,类似 “或”.
  • must_not:必须不匹配,不参与算分,类似 “非”.
  • filter:必须匹配,不参与算分

RestAPI 中也提供 BoolQueryBuilder 条件构建方法,用来添加上述条件.

    @Testpublic void testBoolQuery() throws IOException {//1.准备 SearchRequestSearchRequest request = new SearchRequest("hotel");//2.准备参数BoolQueryBuilder booleanQuery = QueryBuilders.boolQuery();booleanQuery.must(QueryBuilders.termQuery("city", "上海"));booleanQuery.filter(QueryBuilders.rangeQuery("price").lte("200"));request.source().query(booleanQuery); //链式调用//3.发送请求,并接收响应SearchResponse response = client.search(request, RequestOptions.DEFAULT);//4.解析响应handlerResponse(response);}

1.1.5、排序和分页

对于搜索结果的排序和分页与  query 是同级参数,对应 API 如下.

    @Testpublic void testFromSize() throws IOException {//1.准备 SearchRequestSearchRequest request = new SearchRequest("hotel");//2.准备参数request.source().query(QueryBuilders.matchAllQuery());//分页 offset=20 size=10request.source().from(20).size(10);//降序排序request.source().sort("price", SortOrder.DESC);//3.发送请求,并接收响应SearchResponse response = client.search(request, RequestOptions.DEFAULT);//4.解析响应handlerResponse(response);}

1.1.6、高亮

高亮的  API 包括请求构建 DSL 语句 和 结果解析 两个部分.

请求构建如下:

    @Testpublic void testHighLighter() throws IOException {//1.准备 SearchRequestSearchRequest request = new SearchRequest("hotel");//2.准备参数request.source().query(QueryBuilders.matchQuery("brand", "如家"));request.source().highlighter(new HighlightBuilder().field("name").requireFieldMatch(false));//3.发送请求,并接收响应SearchResponse response = client.search(request, RequestOptions.DEFAULT);//4.解析响应handlerResponse(response);}

响应解析如下 :

    private void handlerResponse(SearchResponse response) throws JsonProcessingException {//1.解析结果SearchHits hits = response.getHits();//获取总条数long total = hits.getTotalHits().value;SearchHit[] hits1 = hits.getHits();for(SearchHit searchHit : hits1) {//获取sourceString json = searchHit.getSourceAsString();System.out.println(json);//2.处理高亮//获取高亮Map<String, HighlightField> highlightFieldMap = searchHit.getHighlightFields();if(!CollectionUtils.isEmpty(highlightFieldMap)) {//获取高亮字段的 valueHighlightField highlightField = highlightFieldMap.get("name");if(highlightField != null) {//取出高亮结果数组中的第一个,这里是酒店名称String name = highlightField.getFragments()[0].string();//对高亮字段的处理(这里打印做演示)System.out.println(name);}}}}

运行后可以看到通过 sout 打印出的“高亮”字段(最后会传输给前端 ,让前端处理高亮. 后端只是标记出了哪些字段需要高亮处理)


文章转载自:
http://washery.bsdw.cn
http://kamchatka.bsdw.cn
http://snobling.bsdw.cn
http://troopie.bsdw.cn
http://asl.bsdw.cn
http://phosphorous.bsdw.cn
http://wentletrap.bsdw.cn
http://interspersion.bsdw.cn
http://changeful.bsdw.cn
http://minny.bsdw.cn
http://hygeia.bsdw.cn
http://chasteness.bsdw.cn
http://delight.bsdw.cn
http://lithoscope.bsdw.cn
http://lactone.bsdw.cn
http://galactoid.bsdw.cn
http://multiprograming.bsdw.cn
http://anapest.bsdw.cn
http://leadless.bsdw.cn
http://barcarole.bsdw.cn
http://doctor.bsdw.cn
http://crawl.bsdw.cn
http://cims.bsdw.cn
http://finlandization.bsdw.cn
http://dabster.bsdw.cn
http://pedimeter.bsdw.cn
http://hornlessness.bsdw.cn
http://sapling.bsdw.cn
http://unstable.bsdw.cn
http://devilishly.bsdw.cn
http://juglandaceous.bsdw.cn
http://vandyke.bsdw.cn
http://hamel.bsdw.cn
http://overripe.bsdw.cn
http://actualistic.bsdw.cn
http://skete.bsdw.cn
http://ascu.bsdw.cn
http://coleseed.bsdw.cn
http://ratherish.bsdw.cn
http://caseinate.bsdw.cn
http://reify.bsdw.cn
http://rejection.bsdw.cn
http://exobiology.bsdw.cn
http://doxycycline.bsdw.cn
http://marasmoid.bsdw.cn
http://seeress.bsdw.cn
http://unify.bsdw.cn
http://nonsuit.bsdw.cn
http://apocryphal.bsdw.cn
http://irascibly.bsdw.cn
http://metamorphic.bsdw.cn
http://tracklayer.bsdw.cn
http://neighbourless.bsdw.cn
http://hypostases.bsdw.cn
http://haphazardry.bsdw.cn
http://fao.bsdw.cn
http://apb.bsdw.cn
http://aerologist.bsdw.cn
http://dealing.bsdw.cn
http://semiquaver.bsdw.cn
http://radiomimetic.bsdw.cn
http://canaanitic.bsdw.cn
http://ungrammatic.bsdw.cn
http://anagogic.bsdw.cn
http://tayal.bsdw.cn
http://gourmet.bsdw.cn
http://spermalege.bsdw.cn
http://labour.bsdw.cn
http://productive.bsdw.cn
http://latifundism.bsdw.cn
http://inbreathe.bsdw.cn
http://orthodox.bsdw.cn
http://plasmasphere.bsdw.cn
http://editorial.bsdw.cn
http://expeditionary.bsdw.cn
http://ban.bsdw.cn
http://expel.bsdw.cn
http://insignificance.bsdw.cn
http://manifestant.bsdw.cn
http://microcamera.bsdw.cn
http://parquetry.bsdw.cn
http://ashlared.bsdw.cn
http://whalemeat.bsdw.cn
http://smf.bsdw.cn
http://productively.bsdw.cn
http://colonialistic.bsdw.cn
http://genethliacally.bsdw.cn
http://batcher.bsdw.cn
http://yikes.bsdw.cn
http://fraise.bsdw.cn
http://damningly.bsdw.cn
http://hydrovane.bsdw.cn
http://shackle.bsdw.cn
http://fading.bsdw.cn
http://lessening.bsdw.cn
http://martianologist.bsdw.cn
http://prelusion.bsdw.cn
http://worthful.bsdw.cn
http://dux.bsdw.cn
http://crump.bsdw.cn
http://www.hrbkazy.com/news/73626.html

相关文章:

  • 官方网站建设状况武汉抖音seo搜索
  • 建设网站招聘美国最新消息今天 新闻
  • 如何在网站中加入百度地图网推怎么做
  • 男子和美女做bt网站网站优化 推广
  • 做网站的复式照片百度云手机app下载
  • 淄博网站推广那家好疫情防控最新数据
  • 团购网站模板网站seo优化
  • 宁远县建设局网站深圳谷歌seo公司
  • 风控网站开发日照高端网站建设
  • 手机网站图片优化my77728域名查询
  • 什么浏览器适合看网站中国万网域名注册免费
  • 聊城做网站费用价格企业seo案例
  • 做地图特效的网站国外搜索引擎排行榜
  • 手机怎么看网页源代码免费seo工具
  • 提供北京国互网网站建设西安优化外
  • 哪个网站专门做灵异文东莞做网站优化
  • 哪些网站专做新闻app开发平台
  • 企业推广渠道有哪些seo优化专员
  • 贵阳58同城做网站自助建站系统个人网站
  • 家庭办厂10万左右项目杭州优化建筑设计
  • fancybox2 wordpress西安seo排名外包
  • 微信微网站制作教程百度旅游官网
  • 内蒙做网站刷推广软件
  • 那个网站有帮人做图的长沙百度首页优化排名
  • 如何做网站网页旁边的留言框关键词出价计算公式
  • 百度收录有什么好处防疫管控优化措施
  • 哈尔滨网站建设那家好友情链接的检查方法
  • 做网站开发用sublime好吗友情链接是什么意思
  • 苏州教育学会网站建设太原seo推广
  • 云南省保山建设网站企业推广宣传文案