首页 >数据库 >mysql教程 >如何在电子商务应用程序中为多个实体绑定构建 ElasticSearch 索引?

如何在电子商务应用程序中为多个实体绑定构建 ElasticSearch 索引?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-12-06 07:15:12200浏览

How to Structure an ElasticSearch Index for Multiple Entity Bindings in an E-commerce Application?

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

问题:

为现有 e 实现 ElasticSearch (ES) - 使用MySQL数据库的商业应用程序,应该如何设置索引结构来表示涉及多个的复杂数据库模式实体绑定?

答案:

非规范化方法:

要处理多个实体绑定,建议使用非规范化方法。通过在文档和实体之间创建一对一映射来扁平化数据结构。在本例中,创建一个名为“product”的文档类型,其中包含“Products”、“Flags”和“flagsProducts”表中的所有必需字段。

产品文档结构:

{
   "id": "00c8234d71c4e94f725cd432ebc04",
   "title": "Alpha",
   "price": 589.0,
   "flags": ["Sellout", "Top Product"]
}

ElasticSearch映射:

“产品”索引的映射类型类似于:

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 查询:

要从数据库中提取必要的数据,请使用以下 SQL 查询:

以上是如何在电子商务应用程序中为多个实体绑定构建 ElasticSearch 索引?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn