gpt4 book ai didi

elasticsearch - 在 elasticsearch 中,在映射创建期间完全定义映射有多重要?

转载 作者:行者123 更新时间:2023-12-02 22:20:58 24 4
gpt4 key购买 nike

我正在创建这样的映射

"institution" : {
"properties" : {
"InstitutionCode" : {
"type" : "string",
"store" : "yes"
},
"InstitutionID" : {
"type" : "integer",
"store" : "yes"
},
"Name" : {
"type" : "string",
"store" : "yes"
}
}
}

但是,当我为机构执行实际索引操作时,我添加了别名属性(每个机构 0 个或多个别名)

"institution" : {
"properties" : {
"Aliases" : {
"dynamic" : "true",
"properties" : {
"InstitutionAlias" : {
"type" : "string"
},
"InstitutionAliasTypeID" : {
"type" : "long"
}
}
},
"InstitutionCode" : {
"type" : "string",
"store" : "yes"
},
"InstitutionID" : {
"type" : "integer",
"store" : "yes"
},
"Name" : {
"type" : "string",
"store" : "yes"
}
}
}

这实际上是一个简化的示例,因为在实际的记录索引期间,我实际上添加了更多的字段,而不仅仅是别名。

在映射创建期间完全定义映射有多重要?

由于对具有附加属性的机构记录进行索引,我是否会因在索引操作期间自动调整映射而受到任何处罚?我希望机构随着时间的推移获得额外的属性,我想知道除了机构索引代码之外,我是否还需要维护映射创建代码。

最佳答案

我相信动态映射的开销可以忽略不计……使用它们不会影响索引速度。但是,您可能会遇到一些意外情况,即 ElasticSearch 会错误地自动检测字段类型。

一个常见的示例是检测整数,因为字段的第一个示例是数字(“25”),而实际上该字段的其余数据是字符串。或者当其余数据实际上是浮点数时看到一个整数。等等等等。

如果您的数据标准化良好,那问题不大。

或者,您可以使用 dynamic templates将映射应用于基于正则表达式模式的新字段。

关于elasticsearch - 在 elasticsearch 中,在映射创建期间完全定义映射有多重要?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14340958/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com