可扩展性Java Web服务的ElasticSearch设计
我目前正在设计一个小项目,希望得到一些关于如何最好地使其更适合未来的建议 我有一个基本的对象活动和它的扩展。在一个简单的数据库世界中,我可能有一个用于活动的表、一个用于每个扩展的表和一个活动扩展联接表 然后,我将在适当的表上进行联接,以搜索信息 我的计划是使用CXF将其作为web服务打开,java中间层用于业务逻辑,elasticsearch在后面用于存储和查询数据 那么我的问题是,我是以正确的方式考虑elasticsearch,还是这种方法(不同的表和联接)完全错误。如果正确的话,用ElasticSearch术语表示不同“表”的最佳方式是什么 同样对于elasticsearch,处理对象中的身份信息的最佳方法是什么。最好将_id映射到每个对象中的id字段,还是存储我自己的id字段 干杯,可扩展性Java Web服务的ElasticSearch设计,java,
elasticsearch,Java,
elasticsearch,我目前正在设计一个小项目,希望得到一些关于如何最好地使其更适合未来的建议 我有一个基本的对象活动和它的扩展。在一个简单的数据库世界中,我可能有一个用于活动的表、一个用于每个扩展的表和一个活动扩展联接表 然后,我将在适当的表上进行联接,以搜索信息 我的计划是使用CXF将其作为web服务打开,java中间层用于业务逻辑,elasticsearch在后面用于存储和查询数据 那么我的问题是,我是以正确的方式考虑elasticsearch,还是这种方法(不同的表和联接)完全错误。如果正确的话,用Elast
Rob我看到过这样的比较,即在ElasticSearch中,索引可以与数据库相比较,而表可以与类型相比较 我想你可以用两种不同的方法来做 选项1:一个索引和一种类型。活动的每个子类型在ES中都被索引为一种类型,有些文档缺少字段。
这将为您提供,
- 要支持一种类型映射,如果默认值不够,那么您将拥有所有子类型的所有字段
- 公共字段的分析必须相同。
- 每种类型的文档都只有字段子集(这不是问题,只是奇怪)
选项2:一个索引和多个类型。活动的每个扩展都是ElasticSearch中的一个类型
- 要支持的许多类型映射
- 公共字段可以进行不同的分析
- 理论上,每个文档都有映射的所有字段
当您实施它时,我很想听听它是如何运作的。我目前正在为我的项目实施第二个选项,但需要一段时间才能完全实现。会让你知道它是如何运作的。干杯