如何将复杂的关系数据建模为扁平化的 ElasticSearch 索引结构?

Mary-Kate Olsen
发布: 2024-11-01 14:12:02
原创
754 人浏览过

How to Model Complex Relational Data Into a Flattened ElasticSearch Index Structure?

具有多个实体绑定的 ElasticSearch 索引结构

了解优化 ElasticSearch (ES) 集成的数据库结构的必要性,探索如何优化数据库结构至关重要将复杂的关系数据建模为扁平化的 ES 索引结构。

扁平结构中的多个实体绑定

非规范化是优化数据存储的关键技术。例如,不要通过数据透视表维护产品和标志之间的 N:M 关系,而是考虑创建一个平面 ES 索引,其中每个产品文档都包含关联标志的数组。

产品文档结构

扁平化产品文档将类似于以下结构:

{
   "id": "00c8234d71c4e94f725cd432ebc04",
   "title": "Alpha",
   "price": 589.0,
   "flags": ["Sellout", "Top Product"]
}
登录后复制

ES 索引的产品映射类型

ES 索引的 ES 映射类型这个扁平结构看起来类似于以下内容:

PUT products
{
    "mappings": {
        "product": {
            "properties": {
                "id": {
                    "type": "string",
                    "index": "not_analyzed"
                },
                "title": {
                    "type": "string"
                },
                "price": {
                    "type": "double",
                    "null_value": 0.0
                },
                "flags": {
                    "type": "string",
                    "index": "not_analyzed"
                }
            }
        }
    }
}
登录后复制

使用 SQL 查询提取数据

要从数据库中获取必要的数据以进行 Logstash 处理,需要使用 SQL查询可以使用如下:

以上是如何将复杂的关系数据建模为扁平化的 ElasticSearch 索引结构?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板