目前有个电商筛选的需求,希望实现属性聚合,类似京东
但是数据库里的属性是1对多的关系,也就是一个商品id 对应多个属性,
es中是netsted 的结构类似
{
"_index": 'test',
'_type': 'goods',
'_id': 3,
'_source': {
'goods_id': 3,
'goods_name': 'honor 8',
'attrs': [
{
'attr_name': u'颜色',
'attr_value': u'金色',
},
{
'attr_name': u'零件状态',
'attr_value': u'在售',
},
{
'attr_name': u'发货周期',
'attr_value': u'17 周',
},
]
}
}
mysql查出来后如何将数据导入到es 的nested 数据中
我目前想到的方案只能解决全量同步
1、视图先将mysql的商品和属性在一张表里,但是是1对多的数据
2、将数据通过脚本导入到es
坏处是无法增量同步,如何实现增量同步呢
肯定各位高手解答
@medcl
但是数据库里的属性是1对多的关系,也就是一个商品id 对应多个属性,
es中是netsted 的结构类似
{
"_index": 'test',
'_type': 'goods',
'_id': 3,
'_source': {
'goods_id': 3,
'goods_name': 'honor 8',
'attrs': [
{
'attr_name': u'颜色',
'attr_value': u'金色',
},
{
'attr_name': u'零件状态',
'attr_value': u'在售',
},
{
'attr_name': u'发货周期',
'attr_value': u'17 周',
},
]
}
}
mysql查出来后如何将数据导入到es 的nested 数据中
我目前想到的方案只能解决全量同步
1、视图先将mysql的商品和属性在一张表里,但是是1对多的数据
2、将数据通过脚本导入到es
坏处是无法增量同步,如何实现增量同步呢
肯定各位高手解答
@medcl
6 个回复
kennywu76 - Wood
赞同来自: laoyang360
rochy - rochy_he
赞同来自:
这样视图的每一条结果里面也存在更新时间
在使用 SQL 进行同步的时候就可以根据上一次同步时间来进行同步
从而实现增量同步
wengxuejie
赞同来自:
wengxuejie
赞同来自:
laoyang360 - 《一本书讲透Elasticsearch》作者,Elastic认证工程师 [死磕Elasitcsearch]知识星球地址:http://t.cn/RmwM3N9;微信公众号:铭毅天下; 博客:https://elastic.blog.csdn.net
赞同来自:
zwy_
赞同来自: