elasticsearch,naming-conventions,Java,elasticsearch,Naming Conventions" /> elasticsearch,naming-conventions,Java,elasticsearch,Naming Conventions" />

Java ElasticSearch中字段名的最佳实践

Java ElasticSearch中字段名的最佳实践,java,elasticsearch,naming-conventions,Java,elasticsearch,Naming Conventions,我正在研究用Java在ElasticSearch之上定义一些轻量级服务和数据访问层的简单方法。我的POJO数据对象在camelCase中自然会有属性名,但我想知道是否应该在ElasticSearch类型映射中使用camelCase作为字段名。在数据存储库世界中,尤其是在传统的RDBMS中,字段名绝对不是驼峰式的。如果我没有弄错的话,NoSql世界似乎有一种趋势,在字段名中使用下划线,例如first_name。这是ElasticSearch的常见做法吗? 如果是这样,这是否意味着我必须配置一个基于

我正在研究用Java在ElasticSearch之上定义一些轻量级服务和数据访问层的简单方法。我的POJO数据对象在camelCase中自然会有属性名,但我想知道是否应该在ElasticSearch类型映射中使用camelCase作为字段名。在数据存储库世界中,尤其是在传统的RDBMS中,字段名绝对不是驼峰式的。如果我没有弄错的话,NoSql世界似乎有一种趋势,在字段名中使用下划线,例如first_name。这是ElasticSearch的常见做法吗?
如果是这样,这是否意味着我必须配置一个基于Jackson的转换服务,该服务能够在camelCase和带下划线的字段名之间来回映射?

只需做最适合您的应用程序的事情。拥有映射服务会带来开销,这会降低速度,尤其是在数据量很大的情况下。我主要在JavaScript应用程序中使用它,我使用的是camelCase。

如果我在索引/类型字段名中使用下划线,我将不得不在camelCase Java属性和基于下划线的ElasticSearch字段名之间来回映射,这是没有办法的。希望像Jackson这样基于注释的框架能够使这一点相对轻松。是的,如果你使用下划线,你会的。所以不要用下划线。就像我说的,做对应用程序最有利的事情。使用elasticsearch,命名没有约定或最佳实践。使用最适合您的应用程序的约定。ES是用来快速处理大量数据的。添加贴图层与此目的背道而驰,因为它会减慢一切速度。