当前位置:   article > 正文

elasticsearch数据类型--join_elasticsearch join

elasticsearch join

elasticsearch是一个搜索引擎,附带了数据存储功能。相比关系数据库为关系而生而言,elasticsearch并不删除处理数据之间的关系模型。但仍然提供了对此类需求的有限支持,join和nested数据类型。尽管如此,贯穿整个elasticsearch手册都在强调的一句话是The join field shouldn’t be used like joins in a relation database. In Elasticsearch the key to good performance is to de-normalize your data into documents. 在es中,获取高性能的关键,你应该反规范化你的数据。

本节介绍join数据类型。

join数据类型可以在一个index内部的文档间建立父子关系。例如:

下面的index创建语句,创建了一个dep_staff的index,里面包含了dep(父)和staff(子)的父子关系。

  1. PUT dep_staff
  2. {
  3. "mappings": {
  4. "properties": {
  5. "no":{
  6. "type": "keyword"
  7. },
  8. "dep_name":{
  9. "type": "keyword"
  10. },
  11. "staff_name":{
  12. "type": "keyword"
  13. },
  14. "dep_staff_rltn":{
  15. "type": "join",
  16. "relations":{
  17. "dep":"staff"
  18. }
  19. }
  20. }
  21. }
  22. }

当然,也可以包括多层父子关系。例如:

  1. PUT dep_staff
  2. {
  3. "mappings": {
  4. "properties": {
  5. "no":{
  6. "type": "keyword"
  7. },
  8. "dep_name":{
  9. "type": "keyword"
  10. },
  11. "staff_name":{
  12. "type": "keyword"
  13. },
  14. "dep_staff_rltn":{
  15. "type": "join",
  16. "relations":{
  17. "dep":["sub_dep","organize"],
  18. "sub_dep":"staff",
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/456714
推荐阅读
相关标签
  

闽ICP备14008679号