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

在线设计软件网站上海公司网站设

在线设计软件网站,上海公司网站设,信息门户平台,汽车电子商务网站建设题注#xff1a;随着对ES接触的越来越深入#xff0c;发现此前了解的ES知识点有点单薄#xff0c;特此寻来ES知识点汇总成的一个思维导图#xff0c;全面了解自己掌握了哪些#xff0c;未掌握哪些。此外#xff0c;作者斌并没有足够的精力学习ES全部的知识点#xff0c;…题注随着对ES接触的越来越深入发现此前了解的ES知识点有点单薄特此寻来ES知识点汇总成的一个思维导图全面了解自己掌握了哪些未掌握哪些。此外作者斌并没有足够的精力学习ES全部的知识点只能见缝插针在工作中遇到陌生的点再去深入了解。 本文则是针对Nested嵌套查询进行一系列的研究和分析 ES知识点汇总—思维导图点击此链接查看 1. Nasted查询 起因是作者在工作中看到同事提交的这样一行代码 才发现自己并不清楚nested的作用特此补充学习。 1.1 观察查询结果 首先我去看了一下这个索引中存储的数据内容如下图所示。我们自然一眼看出_source字段中的内容是存储的数据信息那么就分析一下里面。 观察event字段发现该字段是一个数组数组里面嵌套着match[ ]数组match数组里面嵌套着rule[ ]数组。这可就有意思了用这种层层嵌套的设计来储存我们的数据。噢原来这就是嵌套 观察结果 executeScanTime字段、fileSimHash字段、detectorPort字段都是只有一层只有event是嵌套的设计 1.2 调用查询 查询无嵌套的字段 首先我们来看看如何查询executeScanTime字段内容使用term查询该字段内容 发现可以得到返回结果 查询有嵌套的字段 我们来查询一下event字段下的fileName字段使用term查询 惊讶的发现居然失败了hits[ ]是空的 那么就先草率的得出一个结论普通的方式是无法直接查询嵌套的字段信息 1.3 查询嵌套字段 那有什么办法可以查询到嵌套的字段呢经过作者本人多次摸索终于找到一个办法形如下图就可以实现查询了执行后会正确得到查询信息 分析一下这个语法简单的term查询是这样子的。那复合查询该如何写呢 不知大家是否可以发现出什么规律这里留个伏笔大家自己总结一下如何使用动动脑袋然后自己也实践一下。后续我会提供详细的总结 1.4 细节补充 我现在希望查询policyId字段该如何写呢 错误的写法 正确的写法 写到这里在kibana 中嵌套查询的介绍就先到这里 休息一下吧 接下来我很好奇这种字段嵌套是如何设计出来的。我们都知道首先得定义索引的映射关系然后创建索引再给索引赋值最后才是数据的查询。 1.5 嵌套字段的映射 GET sdlp_unstructure_file_scan_result_115/_mapping 可以看到在event字段和match字段定义type nested就可以实现嵌套设计。不然的话只能是一层的设计无法实现层层嵌套的效果 1.6 对应的Java写法 作为开发当然要知道如何代码实现ES查询测试用例如下 // 此方式常用 Test void TermQuery(){// 获取client这里默认已经获取// 1. 准备request (参数为索引名称)SearchRequest request new SearchRequest(indexName);// 2. 构建DSL语句request.source().query(QueryBuilders.nestedQuery(event.match,QueryBuilders.termQuery(event.match.policyId,47), ScoreMode.None));// 3. 发送请求SearchResponse reponse client.search(request, RequestOptions.ESFAULT);// 4. 解析数据得到_source数据SearchHit[] hits response.getHits().getHits();for (SearchHit hit : hits) {System.out.println(hit.getSourceAsString());}}1.7 回顾 这时候再来看一下文章最开始我分享的同事提交的代码 这就很好理解了should内部使用了term查询且这个字段是嵌套字段。 1.8 总结 所有的东西我们都了解了一遍但是作者仍感觉Nested的知识点独立于自己对ES的了解。因此查看思维导图发现原来数据类型这一部分介绍了nested 也就是说我们不仅可以定义type nested, 还可以定义object类型默认为array类型 那为什么不使用array类型呢它也可实现嵌套设计 原来是因为使用array后数组的类型必须全部一致这可就难为人了。可以看到我们的项目中的映射。 event数组中createFileTime字段是long类型、fileAuthor是keyword类型因此只能选择nested类型了。 接着继续看思维导图可以发现nested嵌套查询不属于复合查询聚合查询而是属于特定查询中的父子文档检索。 非常不错直到这里我们才算是真正掌握吸收了nested的知识点快去和同事同学分享吧
http://www.pierceye.com/news/700261/

相关文章:

  • 创意网站界面怎么查注册公司的名字可不可以用
  • 微友说是做网站维护让帮忙投注中小企业经营管理培训班
  • 网站开发宣传标语虚拟币挖矿网站开发
  • wordpress是否免费网站移动端seo
  • 加盟网站建设服务极简风格 wordpress
  • phpcms v9 网站模板seo优化的技巧
  • 域名备案网站要不要关7k7k网页游戏
  • 虚拟主机发布网站吗汕头建站平台
  • wap站是什么意思啊阿里云建设网站的步骤
  • 网站备案 异地可以做视频的网站
  • 淘宝网站c 设计怎么做安卓手机做网站
  • 嘉兴做网站建设的公司电商网名大全
  • 欢迎访问中国建设银行网站密码重置wordpress wp_parse_args
  • 普通电脑可以做网站服务器吗找人做网站需要什么条件
  • 长沙公司网站的建设网站图片尺寸
  • 高端网站定制费用是多少php网站建设制作
  • 广州营销型网站建设费用wordpress最新版下载
  • 洛阳网站设计公司xiamiplayer for wordpress
  • 做网站模版形象墙logo墙设计图
  • 视频网站怎么做防盗链好的装修效果图网站
  • 个人音乐分享网站源码移动网站建设的前景
  • 谷歌自建站和优化网站有很多304状态码
  • 甘肃 网站建设高端品牌护肤品
  • 南昌网站建设公司哪家好导航类网站怎么做
  • 织梦如何做汽车贸易网站wordpress调用主站的文章
  • 软件公司网站模板下载上海史特网站建设
  • 辽宁省锦州市住房与城乡建设厅网站网站的建设特色
  • 笨鸟网站开发如何做vip微信电影网站
  • 网站正在建设中图片南召seo快速排名价格
  • 网站怎么上线东莞网站seo优化托管