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

您身边的网站建设专家wordpress 微信通知

您身边的网站建设专家,wordpress 微信通知,做游戏模板下载网站有哪些内容,wordpress新建页面没有内容文章目录 一、搜索辅助功能1.1、指定返回的字段1.2、结果计数1.3、结果分页 二、搜索匹配功能2.1、查询所有文档2.2、term级别查询2.2.1、term查询2.2.2、terms查询2.2.3、range查询2.2.4、exists查询 2.3、布尔查询2.3.1、must#xff0c;should#xff0c;must_not2.3.2、f… 文章目录 一、搜索辅助功能1.1、指定返回的字段1.2、结果计数1.3、结果分页 二、搜索匹配功能2.1、查询所有文档2.2、term级别查询2.2.1、term查询2.2.2、terms查询2.2.3、range查询2.2.4、exists查询 2.3、布尔查询2.3.1、mustshouldmust_not2.3.2、filter 2.4、全文搜索2.4.1、match查询2.4.2、multi_match查询2.4.3、match_phrase查询 三、按字段值排序 一、搜索辅助功能 1.1、指定返回的字段 考虑到性能问题需要对搜索结果进行“瘦身”——指定返回的字段。在ES中可以通过_source子句可以设定返回结果的字段。_source指向一个JSON数组数组中的元素是希望返回的字段名称。 GET /hotel/_search {_source:[title,city],query:{term:{city:{value:成都}}} }1.2、结果计数 为提升搜索体验需要给前端传递搜索匹配结果的文档条数即需要对搜索结果进行计数。针对这个需求ES提供了_countAPI功能在该API中用户提供query子句用于结果匹配ES会返回匹配的文档条数。下面的DSL功能会返回城市为“成都”的酒店个数 GET /hotel/_count {query:{term:{city:{value:成都}}} }返回结果为 {_count:3,_shards:{...} }1.3、结果分页 在实际的搜索应用中分页是必不可少的功能。用户可以通过from和size来设置搜索位置和每页显示的文档数量from表示查询结果的起始下标默认值为0size表示从起始下标开始返回的文档个数默认值为10。例如 GET /hotel/_search {from:0,size:20,query:{term:{city:{value:成都}}} }在默认情况下用户最多可以取得10000个文档如果请求超过该值ES会返回报错信息。如果确实需要返回多于10000条数据可以适当调整max_result_window的值 PUT /hotel/_settings {index:{max_result_window:20000} }注意如果将配置修改的很大一定要有足够的硬件作为支撑。 二、搜索匹配功能 2.1、查询所有文档 在ES中可以使用match_all实现查询所有文档的数据使用match_all查询文档时ES不对文档进行打分计算默认情况下给每一个文档赋予1.0的得分。 GET /hotel/_search {_source:[title,city],query:{match_all:{...}} }2.2、term级别查询 2.2.1、term查询 term查询是结构化精准查询的主要查询方式用于查询待查字段和查询值是否完全匹配其请求形式如下 GET /hotel/_search {query:{term:{${FIELD}:{value:${VALUE}}}} } 其中FIELD和VALUE分别代表字段名称和查询值例如搜索城市为成都的酒店 GET /hotel/_search {query:{term:{city:{value:成都}}} }2.2.2、terms查询 terms查询是term查询的扩展形式用于查询一个或多个值与待查字段是否完全匹配以下是搜索城市为“北京”或者“成都”的酒店实例 GET /hotel/_search {query:{terms:{city:[北京,成都]}} }2.2.3、range查询 range查询用于范围查询一般是对数值型和日期型数据的查询使用range进行范围查询时用户可以根据需求中是否包含边界数值进行选项设置可供组合的选项如下: gt大于lt小于gte大于或等于lte小于或等于 以下为数值类型的查询示例查询住宿价格大于300(不包含边界值)的酒店: GET /hotel/_search {query:{range:{price:{gt:300}}} }2.2.4、exists查询 在某些场景下我们希望找到某个字段不为空的文档可以使用exists搜索字段不为空的条件有 值存在且不为null值不是空数组值是数组但不是[null] 例如 GET /hotel/_search {query:{exists:{field:tag //字段名}} }2.3、布尔查询 复合搜索顾名思义是一种在一个搜索语句中包含一种或多种搜索子句的查询布尔查询是常用的复合查询。它把多个子查询组合成一个布尔表达式这些子查询之间的逻辑关系是与即所有子查询的结果都为true布尔查询的结果才为真。 布尔查询支持的子查询有四种各子查询的名称和功能如下所示 must必须匹配该查询条件should可以匹配该查询条件must_not必须不匹配该查询条件filter必须匹配过滤条件不进行打分计算 2.3.1、mustshouldmust_not 这三种查询ES会将子查询与文档的匹配程度值加入到总得分里搜索时后面都可以包含一个数组例如 GET /hotel/_search {query:{bool:{must:[ // must查询数组内可以封装各类子查询{ // 第一个子查询城市为成都term:{city:{value:成都}}},{ // 第二个子查询价格350且价格450range:{price:{gte:350,lte:450}}}]}} }2.3.2、filter filter查询即过滤查询该查询是布尔查询里非常独特的一种查询其他布尔查询关注的是查询条件和文档的匹配程度并按照匹配程度进行打分。而filter查询关注的是查询条件和文档是否匹配不进行相关的打分计算(这可以减少不小的时间开销)但是会对部分匹配结果进行缓存。 GET /hotel/_search {query:{bool:{filter:[ // filter查询数组内可以封装各类子查询{ // 第一个子查询城市为成都term:{city:{value:成都}}},{ // 第二个子查询价格350且价格450range:{price:{gte:350,lte:450}}}]}} }2.4、全文搜索 不同于结构化搜索全文搜索首先对查询词进行分析然后根据查询词的分词结果构建查询。这里所说的全文指的是文本类型数据text类型。结构化搜索关注的是数据是否匹配全文搜索关注的是匹配的程结构化搜索一般用于精确匹配而全文搜索用于部分匹配。 2.4.1、match查询 match查询是全文搜索的主要代表。对于最基本的match搜索来说只要分词结果中的一个或者多个词在文档中存在即可例如搜索金都酒店 GET /hotel/_search {_source:[title], //只返回title字段query:{match:{ //匹配title字段为“金都酒店”的文档title:金都酒店}} }或者按照如下方式搜索 GET /hotel/_search {_source:[title], //只返回title字段query:{match:{ //匹配title字段为“金都酒店”的文档title:{query:金都酒店}}} }2.4.2、multi_match查询 有时用户需要在多个字段中查询关键词除了使用布尔查询封装多个match查询之外可替代的方案是使用multi_match。可以在multi_match的query子句中组织数据匹配规则并在fields子句中指定需要搜索的字段列表 GET /hotel/_search {_source:[title,amenities], //匹配的关键字为“假日”query:{multi_match:{ //设置匹配的字段为title和amenitiesquery:假日,fields:[title,amenities]}} }2.4.3、match_phrase查询 match_phrase用于匹配短语与match查询不同的是match_phrase用于搜索确切的短语或临近的词语。 三、按字段值排序 在默认情况下ES对搜索结果是按照相关性降序排序的有时需要按照某些字段的值进行升序或者降序排序。ES提供了sort子句可以对数据进行排序。sort子句一般是按照字段信息进行排序不受相关性影响而且打分步骤需要耗费一定的硬件资源和时间因此默认情况下不对文档进行打分。 使用sort字句对字段值进行排序时需要指定排序的字段。ES默认的是按照字段值进行升序排序可以设置sort参数为asc或desc指定按照字段值进行升序或者降序排序。 以下示例为搜索名称包含“金都”的酒店并对酒店按照价格进行降序排列 GET /hotel/_search {_source:[title,price], //只返回部分字段query:{ //搜索条件match:{ title:金都}},{sort:[ //按照价格降序排序{price:{order:desc}}]} }
http://www.hkea.cn/news/14257426/

相关文章:

  • 公司网站建设流程图点个赞科技 网站制作
  • 常熟市维摩剑门绿茶网站建设目标平台网站建设有哪些
  • 百度怎样建立网站小程序代码怎么获取
  • 成都网站设计报告书中国营销网站
  • 科学数据分析网站html5服装定制属于什么行业
  • 社交网站开发客户注册360建筑网公司
  • 企业网站的设计公司国内 wordpress 大战
  • 十佳网站网上建立网站
  • 阜新市建设学校官方网站下列不属于网站建设规划
  • 国外装修网站模板哈尔滨酒店网站建设
  • 最好的网站设计公html5美食网站
  • 印度做网站企业公司网站建设公司
  • 沈阳网站做网络服务提供者知道网络用户利用其网络服务侵害
  • 获取网站访客qq号码程序下载网站建设公司如何发展
  • 国外ui设计网站到哪个网站找内控制度建设
  • 蚌埠响应式网站开发seo上词价格
  • 中外商贸网站建设平台平台的重要性
  • 湛江网站制作企业可以用自己的电脑做网站主机
  • 关于网站建设申请哈尔滨百度网络推广
  • 网站建设卖东西企业网站的规划与设计
  • 注册网站会员做淘客一定要建网站吗
  • 广告网站 源码seo排名课程咨询电话
  • 揭阳网站设计公司建设用地规划许可证查询网站
  • 网站开发范围说明书自己做的网站怎么上网
  • 10大免费软件下载网站推荐介绍自己公司的范文
  • 顺义手机网站建设wordpress资源网主题
  • 网站建设软硬件平台有哪些资阳建网站
  • 云南省建设工程质量监督管理站网站微商城网站建设行情
  • dede网站搬家教程网站建设开票属于哪个名称
  • 淘宝网站做超链接手机网站