首页 > 后端开发 > php教程 > 如何通过多个实体绑定优化ElasticSearch索引结构?

如何通过多个实体绑定优化ElasticSearch索引结构?

Mary-Kate Olsen
发布: 2024-10-29 22:58:29
原创
957 人浏览过

How to Optimize ElasticSearch Index Structure with Multiple Entity Bindings?

如何使用多个实体绑定配置 ElasticSearch 索引结构

背景

经常将 ElasticSearch (ES) 与遗留应用程序集成由于数据结构和索引要求的差异带来了挑战。对于复杂的关系模式,非规范化数据和展平实体可以提高性能并简化查询。

问题:

如何展平具有多个实体绑定(n :m 关系)以在 ES 中实现最佳索引?

解决方案:

1.反规范化数据:

创建包含所有相关数据的产品文档,包括嵌入的相关实体数组。下面是一个示例架构:

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

2。映射类型:

配置映射类型以匹配新架构:

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"
        }
      }
    }
  }
}
登录后复制

3. SQL 查询:

使用连接相关实体并连接标志标题的查询从数据库检索数据:

以上是如何通过多个实体绑定优化ElasticSearch索引结构?的详细内容。更多信息请关注PHP中文网其他相关文章!

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