复杂类型模式的弹性搜索索引/映射
我是ES新手,我在ES上的第一个项目有一些复杂性。所以来听取要求帮助。复杂类型模式的弹性搜索索引/映射
我们得到了产品的多变性,不同种类的产品具有不同的我们关心的属性集。例如,对于智能手机,我们关心RAM,CPU等。对于书籍,我们关心作者,版本等。 为了将它们全部放在一个数据存储中,存储架构如下所示:
产品编号:诠释,Attribute_Key,ATTRIBUTE_NAME:字符串,ATTRIBUTE_VALUE:字符串
因此,对于智能手机和一本书,记录可以看起来像:
phoneId, 3, "CPU Speed", "2GHz"
phoneId, 4, "RAM", "2GB"
bookId, 83, "Author", "Mark Twin"
bookId, 95, "Published", "1935"
现在我有大约50属性名,这是不是很多。我想索引他们所有的人。与ES中的正常索引/映射机制不同,您可以直接指定您想要索引的“列”。对于这种模式,我该如何告诉ES针对所有可能的属性名称进行索引?由于我只有大约50人?
例如,我想索引RAM,作者,出版。它看起来像一个多字段索引,但没有经验。任何帮助表示赞赏。
谢谢,
使用下面的映射。这只会索引内存,作者和发布。
"person" : {
"properties" : {
"CPU_Speed" : {
"type" : "string",
"include_in_all" : false
},
"RAM" : {
"type" : "string"
},
"Author" : {
"type" : "string"
},
"Published" : {
"type" : "string"
}
}
}
感谢Vinod,它看起来像我需要添加所有40个属性名称,并且它不保护将来的属性名称。考虑两个领域组合索引更有意义。但不知道如何去做...... –
@ShiChen我没有得到你的评论“思考两个领域结合索引更有意义”。你能简单解释一下吗? –
您计划使用哪种版本的弹性搜索? –
你可能想看看这个http://stackoverflow.com/a/13627218/1849366 –
弹性搜索的版本是2.1.2。 –