弹性搜索指数与类型策略

时间:2016-06-16 20:37:52

标签: elasticsearch metadata data-modeling elasticsearch-2.0 metadata-repository

我对弹性搜索有点新意,非常感谢帮助,

在我的公司,我们有一个元数据存储库,
存储库的结构如下:
我们有不同类型的实体组,比如说

entitiesGroupA: [Aentity1, Aentity2, Aentity3...],
entitiesGroupB: [Bentity1, Bentity2, Bentity3...]

约15组,总共约1500个实体
每个实体名称都是唯一的,没有重复项 每个实体都有基本数据(标志,文字说明等) 对于每个实体,平均有大约100个字段
当我说字段我不是指基本数据时,我的意思是实体中的逻辑字段,每个字段包含诸如布尔标志,文本描述等内容...
这些领域也有组(约5)

此外,存储库有版本,每个月都有新版本
问题是,将此结构建模为最适合弹性搜索的最佳方法是什么?

elasticsearch中数据的使用将是按名称和按组搜索实体, 检索实体的所有字段,按名称和按组搜索字段,按名称和按组搜索实体中的字段,
我想到了以下模型:

/entities_[Version]/[entityGroup]/[entityName]

将拥有实体(不是其字段)的数据
例如:存储库的版本1,groupA的entity1

/entities_1/groupA/entity1

每个实体的字段如下

/[entityName]_[Version]/[fieldGroup]/[fieldName]

例如:entity1的版本1,字段组A的field1

/entity1_1/groupA/field1

这是一个模拟存储库的好方法吗?我觉得通过这种方式我创建了一些索引,也许我应该建模它以获得更多类型?更多索引而不是更多类型的优势是什么?

正如你所看到的,因为我是弹性搜索的新手而且我找不到分配的学习材料我觉得有点无能O:

感谢您的帮助:D

0 个答案:

没有答案