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

南京做网站公司 雷仁淘宝关键词搜索量查询

南京做网站公司 雷仁,淘宝关键词搜索量查询,重庆网站建设解决方案及流程,专门做win7系统的网站关于父子索引 ES底层是Lucene,由于Lucene实际上是不支持嵌套类型的,所有文档都是以扁平的结构存储在Lucene中,ES对父子文档的支持,实际上也是采取了一种投机取巧的方式实现的. 父子文档均以独立的文档存入,然后添加关联关系,且父子文档必须在同一分片,由于父子类型文档并没有…

在这里插入图片描述

关于父子索引

ES底层是Lucene,由于Lucene实际上是不支持嵌套类型的,所有文档都是以扁平的结构存储在Lucene中,ES对父子文档的支持,实际上也是采取了一种投机取巧的方式实现的.

父子文档均以独立的文档存入,然后添加关联关系,且父子文档必须在同一分片,由于父子类型文档并没有减少文档数量,而且增加了父子绑定关系,会导致查询效率低下,因此我们并不建议您在实际开发中使用父子类型.

ES本身更适合"大宽表"模式,不要带着传统关系型数据库那种思维方式去使用ES,我们完全可以通过把多张表中的字段和内容合并到一张表(一个索引)中,来完成期望功能,尽可能规避父子类型的使用,不仅效率高,功能也更强大。

建议

如果对文档的写多于读,那么建议你选择父子类型,如果文档读多于写, 那么请选择嵌套类型。

对比嵌套文档

父子文档在理解上来说,可以理解为一个关联查询,有些类似MySQL中的JOIN查询,通过某个字段关系来关联。
父子文档与嵌套文档主要的区别在于,父子文档的父对象和子对象都是独立的文档,而嵌套文档中都在同一个文档中存储。

父-子关系的主要优势有:

  • 更新父文档时,不会重新索引子文档。
  • 创建,修改或删除子文档时,不会影响父文档或其他子文档。这一点在这种场景下尤其有用:子文档数量较多,并且子文档创建和修改的频率高时。
  • 子文档可以作为搜索结果独立返回。

实战案例

本篇以博客文章和评论作为文档模型,演示文章和评论这个一对多的父子关系,增删改查如何操作。
假设数据如下:

[{"title":"这是一篇博文","content":"适当方式连接管理工具螺丝钉解放了送到房间里伺机待发..."},{"username":"Jack","comment":"nice post, good job!","date":"2023-09-04"},{"username":"王老五","comment":"写得很一般啊","date":"2023-08-04"},{"username":"技术我最牛","comment":"仅次于我","date":"2022-05-01"}
]

创建索引

创建blog索引,父文档与子文档分别用不同的字段来存储对应的数据,在创建索引文档的时需要指定父子文档的关系,即文章为parent,评论为child,创建索引语句如下:
在这里插入图片描述

{"mappings": {"properties": {"date": {"type": "date"},"username": {"type": "text","fields": {"keyword": {"type": "keyword"}}},"comment": {"type": "text","fields": {"keyword": {"type": "keyword"}}},"content": {"type": "text","fields": {"keyword": {"type": "keyword"}}},"title": {"type": "text","fields": {"keyword": {"type": "keyword"}}},"relation": {"type": "join","relations": {"parent": "child"}}}}
}

添加文档

  • 父文档
    POST /blog/_doc/1
    在这里插入图片描述

如果不指定relation会报错:
在这里插入图片描述

  • 子文档
    子文档的插入语法如下,注意routing是父文档的id,平时我们插入文档时routing的默认就是id。

POST /blog/_doc/1?routing=1
在这里插入图片描述

查询文档

父子查询方式,常用分为两种特殊情况:

  • 根据子文档查询父文档 has_parent
    例如我要查询王老五的留言:

POST /blog/_search

{"query": {"has_child": {"type": "comment","query": {"match": {"username": "王老五"}}}}
}

在这里插入图片描述

  • 根据父文档查询子文档 has_child
    例如我要查询文章内容包含“工具”的所有评论:

POST /blog/_search
在这里插入图片描述

聚合查询与嵌套文档类似,比较简单,这里在说明另外一种场景:祖辈和孙辈可以创建吗?比如本文中的留言如果它也有子文档,那么可以根据文章查询孙辈吗?答案是可以的,只需要在has_child里面在嵌套一层has_child查询即可。

http://www.ritt.cn/news/928.html

相关文章:

  • 北京企业网站开发公司哪家好现在最火的推广平台有哪些
  • html5网站的优点百度知道合伙人官网登录入口
  • 做培训体系的网站100个常用的关键词
  • 沈阳房产网合肥seo公司
  • 锡林浩特网站建设开发新站seo快速排名 排名
  • 做网站那个搜索引擎好店铺运营
  • it行业培训机构一般多少钱郑州seo培训
  • 宁晋网站建设公司百度广告点击软件
  • 阿里云网站建设怎么样做一个app平台需要多少钱
  • 公司网站没备案如何推广我的网站
  • 做网站好还是做安卓app好seo排名教程
  • 导购类网站建设多少钱腾讯云域名注册
  • 个人阿里云账号可以做网站备案网上推广用什么平台推广最好
  • 廊坊网站自助建站线上销售渠道有哪几种
  • 电池外贸一般在哪些网站做调价智能关键词软件
  • 菏泽手机网站建设网站优化的方法与技巧
  • 做文案图片上什么网站近期时事新闻10条
  • 企石镇做网站国通快速建站
  • 中铁航空港建设集团网站北京seo顾问外包
  • 创建站怎么上传网站怎么办百度怎么转人工客服
  • 南京优质网站建设方案大数据技术主要学什么
  • 百度推广竞价结构优化设计
  • 漂亮公司网站源码打包下载百度的排名规则详解
  • 适合翻译做兼职的网站seo课程
  • 昆明哪个公司做网站建设最好大一html网页制作作业简单
  • 官网型网站开发什么叫seo网络推广
  • 网站导航栏字体资源链接搜索引擎
  • 来个网站吧好人一生平安2021掉发脱发严重是什么原因
  • 做网站做app区别百度网盘app下载安装手机版
  • 做网站公众号短视频推广策略