【发布时间】:2021-05-14 04:05:55
【问题描述】:
我想知道对于那些大规模使用 Elasticsearch 的人来说,如果我创建索引映射然后将文档放入其中,与不创建映射并直接放入文档相比,搜索时是否会带来性能优势
【问题讨论】:
标签: elasticsearch elastic-stack elasticsearch-5
我想知道对于那些大规模使用 Elasticsearch 的人来说,如果我创建索引映射然后将文档放入其中,与不创建映射并直接放入文档相比,搜索时是否会带来性能优势
【问题讨论】:
标签: elasticsearch elastic-stack elasticsearch-5
如果可能,通常首选为索引创建显式映射。
对于搜索案例,这对于使用为搜索策略提供服务所需的分析链索引数据至关重要。
对于日志用例,可能无法知道将被摄取的日志记录的显式映射应该是什么,因为数据中可能存在事先不知道的动态字段。 Dynamic templates 可以在这里提供帮助,采用统一的日志记录结构(如 Elastic Common Schema (ECS))也可以提供帮助,在记录时将数据转换为 ECS 格式,或者在使用 ingest pipelines 摄取到 Elasticsearch 时转换为@
【讨论】:
是的,在放置文档之前使用显式映射总是比依赖动态映射更好。如果您完全依赖于动态映射,您可能无法对少数数据类型(如文本)进行可视化。而且,当您维护映射时,您的索引将始终具有相同类型的数据。请参考这篇博客:
[https://qbox.io/blog/maximize-guide-elasticsearch-indexing-performance-part-1/][1]
【讨论】: