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

哪些公司做网站开发给个网站最新的2021

哪些公司做网站开发,给个网站最新的2021,贷款类的网站好做怎么做,哪里能买精准客户电话一、DSL查询文档 #xff08;一#xff09;DSL查询分类 ES提供了基于JSON的DSL来定义查询。 1、常见查询类型#xff1a; 查询所有#xff1a; 查询出所有的数据#xff0c;例如#xff0c;match_all全文检索#xff08;full text#xff09;查询#xff1a; 利用…一、DSL查询文档 一DSL查询分类 ES提供了基于JSON的DSL来定义查询。 1、常见查询类型 查询所有 查询出所有的数据例如match_all全文检索full text查询 利用分词器对用户输入内容分词然后去倒排索引库中匹配。例如 match_querymulti_match_query 精确查询 根据精确词条值查找数据一般查找精确值例如 idsrangeterm 地理geo坐标查询 根据经纬度查询例如 geo_distancegeo_bounding_box 复合compound查询 复合查询可以将伤处查询条件组合起来合并查询条件例如 boolfunction_score 2、查询的基本语法 GET /indexName/_search {query: {查询类型: {查询条件: 条件值}} }3、match_all的使用 GET /indexName/_search {query: {match_all: { }} }查询效果 {took : 446,timed_out : false,_shards : {total : 1,successful : 1,skipped : 0,failed : 0},hits : {total : {value : 1,relation : eq},max_score : 1.0,hits : [{_index : test,_type : _doc,_id : 1,_score : 1.0,_source : {info : 这是我的ES拆分Demo,age : 18,email : zengoo163.com,name : {firstName : Zengoo,lastName : En}}}]} }二全文检索查询 全文检索查询会对用户输入内容分词常用于搜索框搜索。 1、match查询 1结构 GET /indexName/_search {query: {match: { FILED: TEXT}} }2简单使用 GET /test/_search {query: {match: { info: ES #当有联合属性all进行匹配就可以进行多条件匹配按照匹配数量来确定权值大小。}} }使用结果 {took : 71,timed_out : false,_shards : {total : 1,successful : 1,skipped : 0,failed : 0},hits : {total : {value : 1,relation : eq},max_score : 0.2876821,hits : [{_index : test,_type : _doc,_id : 1,_score : 0.2876821,_source : {info : 这是我的ES拆分Demo,age : 18,email : zengoo163.com,name : {firstName : Zengoo,lastName : En}}}]} }2、multi_match查询 从使用效果上与条件查询的all字段相同。 1结构 GET /indexName/_search {query: {multi_match: { query: TEXT,fields: [FIELD1, FIELD2]}} }2简单使用 GET /test/_search {query: {multi_match: {query: ES,fields: [info,age]}} }三精准查询 精确查询一般是查找精确值所以不会对搜索条件分词。 1、term 根据词条精确值查询在商城项目中通常会用在类型筛选上。 1结构 GET /test/_search {query: {term: {FIELD: {value: VALUE}}} }2简单使用 GET /test/_search {query: {term: {city: {value: 杭州 #精确值}}} }2、range 根据值范围查询在商城项目中通常会用在价值筛选上。 1结构 GET /test/_search {query: {range: {FIELD: {gte: 10,lte: 20}}} }2简单使用 GET /test/_search {query: {range: {price: {gte: 699, #最低值gte 大于等于gt 大于lte: 1899 #最高值lte 小于等于lt 小于}}} }四地理坐标查询 1、geo_distance 查询到指定中心小于某个距离值的所有文档圆形范围圈。 1结构 GET /indexName/_search {query: {geo_distance: {distance: 15km,FIELD: 13.21,121.5}} }2简单使用 GET /test/_search {query: {geo_distance: {distance: 20km,location: 13.21,121.5}} }2、geo_bounding_box 查询geo_point值落在某个举行范围的所有文档矩形范围圈。 1结构 GET /indexName/_search {query: {geo_bounding_box: {FIELD: {top_left: {lat: 31.1,lon: 121.5},bottom_right: {lat: 30.9,lon: 121.7}}}} }五复合查询 复合查询可以将其它简单查询组合起来实现更复杂的搜索逻辑。 1、function score 算分函数查询可以控制文档相关性算分控制文档排名。 当我们利用match查询时文档结果会根据搜索词条的关联度打分_score,返回结果时按照分值降序排列。 例如在搜索CSDNJava。 [{_score: 17.85048,_source: {name: Java语法菜鸟教程}},{_score: 12.587963,_source: {name: Java语法W3CScool}},{_score: 11.158756,_source: {name: CSDNJava语法学习树}}, ]相关算法 最开始的算分算法TF词条频率 词条 / 文档词条总数避免公共词条改良的算分算法TF-IDF算法 IDF逆文档频率 Log( 文档总数 / 包含词条的文档总数 )socre (∑(i,n) TF) * IDF BM25算法 现在默认采用的算法该算法比较复杂其词频曲度最终会趋于水平。 1结构 GET /hotel/_search {query: {function_socre: { #查询类型query: { #查询原始数据match: {all: 外滩}},functions: [ #解析方法{filter: { # 过滤条件term: {id: 1}},weight: 10 # score算分方法weight是直接以常量为函数结果其它的还有feild_value_factor以某字段作为函数结果random_score 随机值作为函数结果script_score定义计算公式}],boost_mode: multiply # 加权模式定义function score 与 query score的运算方式包括 multiply两者相乘默认replace用function score 替换 query score其它 sum、avg、max、min}} }2简单使用 需求 将用户给的词条排名靠前 需要考虑的元素 哪些文档需要算分加权 包含词条内容的文档算分函数是什么 weight加权模式用哪个 sum 实现 GET /hotel/_search {query: {function_socre: { # 算分算法query: {match: {all: 速8快捷酒店}},functions: [ {filter: { # 满足条件品牌必须是速8term: {brand: 速8}},weight: 2 #算分权重为 2}],boost_mode: sum}} }2、复合查询 Boolean Query 子查询的组合方式 must 必须匹配每个子查询类似 “与”should 选择性匹配子查询类似 “或”must_not 排除匹配模式不参与算分类似 “非”filter 必须匹配不参与算分 实现案例 #搜查位置位于上海品牌为“皇冠假日”或是“华美达”并且价格500price600元且评分大于等于45的酒店 GET /hotel/_search {query: {bool: {must: [ # 必须匹配的条件{ term: { city: 上海 } }],should: [ # 可以匹配到条件{ term: { brand: 皇冠假日 } },{ term: { brand: 华美达 } }],must_not: [ #不匹配的条件{ range: { price: {lte: 500, gte: 600} }}],filter: [ #筛选条件{ range: { score: { gte: 45 } } }]} } }二、搜索结果处理 一排序 ES支持对搜索结果排序默认根据_score来排序可以排序的字段类型有keyword、数值类型、地理坐标类型、日期类型等 1、结构 # 普通类型排序 GET /test/_search {query: {match_all: {}},sort: [{FIELD: {order: desc # 排序字段和排序方式ASC、DESC}}] }# 地理坐标型排序 GET /test/_search {query: {match_all: {}},sort: [{_geo_distance: {FIELD: { #精度维度lat: 40,lon: -70},order: asc,unit: km}}] }2、实现案例 排序需求 按照用户评价降序评价相同的按照价格升序。 GET /hotel/_search {query: {match_all: {}},sort: [{score: { # 简化结构可以使用score: descorder: desc},price: {order: asc}}] }排序需求 按照距离用户位置的距离进行升序。 GET /hotel/_search {query: {match_all: {}},sort: [{_geo_distance: {location: {lat: 40.58489,lon: -70.59873},order: asc,unit: km}}] }二分页 修改分页参数 GET /hotel/_search {query: {match_all: {}}sort: [{price: asc}],from: 100, # 分页开始的位置默认为0size: 20, # 期望获取的文档总数 }深度分页问题 当我们将ES做成一个集群服务那么我们需要选择前10的数据时ES底层会如何去实现呢 ES由于使用的是倒排索引每一台ES都会分片数据。 1、每个数据分片上都排序并查询前1000条文档。 2、聚合所有节点的结果在内存中重新排序选出前1000条文档。 3、从前1000挑中选取from990size10的文档 如果搜索页数过深或者结果集过大对内存和CPU的消耗越高因此ES设置的结果集查询上限是10000条。 如何解决深度分页的问题 seach after 分页时需要排序原理是从上一次的排序值开始查询下一页数据官方推荐。scroll 原理是将排序数据形成缓存保存在内存官方不推荐。 三高亮 1、概念 在搜索结果中搜索关键字突出显示。 2、原理 将搜索结果中的关键字用标签标记出来在页面中给标签添加css样式 3、语法 GET /indexName/_search {query: {match: {FIELD: TEXT}},highlight: { #高亮字段fields: {FIELD: {pre_tags: em, #标签前缀post_tags: /em, #标签后缀require_field_match: false #判断该字段是否与前面查询的字段匹配}}} }三、RestClient查询文档 一实现简单查询案例 //1、准备Request SearchRequest request new SearchRequest(hotel); //2、组织DSL参数QueryBuilders是ES的查询API库 request.source().query(QueryBuilders.matchAllQuery()); //3、发送请求得到响应结果 SearchResponse response client.search(request, RequestOptions.DEFAULT); //4、解析响应结果搜索结果会放置在Hits集合中 SearchHits searchHits response.getHits(); //5、查询总数 long total searchHits.getTotalHits().value; //6、查询的结果数组 SearchHit[] hits searchHits.getHits(); for(SearchHit hit: hits) {//得到sourcesource就是查询出来的实体信息String json hit.getSourceAsString();//序列化HotelDoc hotelDoc JSON.parseObject(json,HotelDoc.class); }二match查询 //1、准备Request SearchRequest request new SearchRequest(hotel); //2、组织DSL参数QueryBuilders是ES的查询API库 //单字段查询 request.source().query(QueryBuilders.matchQuery(all,皇家)); //多字段查询 //request.source().query(QueryBuilders.multiMatchQuery(皇家,name,buisiness)); //3、发送请求得到响应结果 SearchResponse response client.search(request, RequestOptions.DEFAULT); //4、解析响应结果搜索结果会放置在Hits集合中 SearchHits searchHits response.getHits(); //5、查询总数 long total searchHits.getTotalHits().value; //6、查询的结果数组 SearchHit[] hits searchHits.getHits(); for(SearchHit hit: hits) {//得到sourcesource就是查询出来的实体信息String json hit.getSourceAsString();//序列化HotelDoc hotelDoc JSON.parseObject(json,HotelDoc.class); }三精确查询 //词条查询 QueryBuilders.termQuery(city,杭州); //范围查询 QueryBuilders.rangeQuery(price).gte(100).lte(150);四复合查询 //创建布尔查询 BoolQueryBuilder boolQuery QueryBuilders.boolQuery(); //添加must条件 boolQuery.must(QueryBuilders.termQuery(city,杭州)); //添加filter条件 boolQuery.filter(QueryBuilders.rangeQuery(price).lte(250));五排序、分页、高亮 1、排序与分页 // 查询 request.source().query(QueryBuilders.matchAllQuery()); // 分页配置 request.source().from(0).size(5); // 价格排序 request.source().sort(price, SortOrder.ASC);2、高亮 高亮查询请求 request.source().highlighter(new HighLightBuilder().field(name).requireFieldMatch(false));处理高亮结果 // 获取source HotelDoc hotelDoc JSON.parseObject(hit.getSourceAsString(), HotelDoc.class); // 处理高亮 MapString, HighlightFields highlightFields hit.getHighlightFields(); if(!CollectionUtils.isEmpty(highlightFields)) {// 获取字段结果HighlightField highlightField highlightFields.get(name);if (highlightField ! null) {// 去除高亮结果数组的第一个String name highlightField.getFragments()[0].string();hotelDoc.setName(name);} }
http://www.zqtcl.cn/news/404442/

相关文章:

  • 网站建设和优化排名四川建设网官网证书查询入口
  • 如何搜名字搜到自己做的网站电子商务平台icp备案证明
  • 网站建设与管理工作内容北京网站建设价
  • 做网站选哪个语言软文营销的方法
  • 青岛正规公司网站建设公司中国建设银行注册网站
  • 免费个人网站平台关键词检索
  • 定制型网站建设推广宁河网站建设
  • 主流网站开发语言有哪些电子邮件营销
  • 扫描二维码进入公司网站怎样做在万网上域名了怎么做网站
  • 销售型网站设计怎么做网站广告位
  • 网站推广的方法ppt购物网站logo
  • 网站关键词分割wordpress为展示的作品投票
  • 建立网站 域名 服务器吗wordpress超链接出错
  • 外贸开发网站建设注册会计师协会
  • 莆田建设网站dw网页设计作品及源码
  • 360免费建站视频淘宝客的网站怎么做
  • 四川自助seo建站短视频推广计划
  • 网站建设案例的公司黄冈网站建设公司
  • 做淘客网站需要营业执照吗制作网站公
  • 手机网站开发的目的鲁班设计远程工作
  • 宿迁网站建设要多少钱高密市住房和城乡建设局网站
  • 咸阳网站建设公司哪家好wordpress访客ip记录
  • 厦门建设银行网站那个网站做效果图电脑配置
  • 人才网站建设医院网站建设的好处
  • 房屋装修网站模板html5做网站
  • 网站建设需要的硬件网站建设知名公司排名
  • 绥化网站建设私自搭建vps犯法吗
  • 建设专业网站哪家比较好小程序源码是什么意思
  • 网站设计一般包括什么给公司做网站数据分析
  • 网站根目录在哪里1024cctvcom戊人影祝