mysql 一张主表 一张子表 上传到ES一个索引 mysql查询时将子表数据转成json为es索引的一个字段 结果里面的中文全乱码了
SELECT p.guid, JSON_ARRAYAGG( JSON_OBJECT( 'guid', pn.guid, 'colorid', pn.colorid, 'sizeid', pn.sizeid, 'barcode', pn.barcode, 'num', pn.num, 'salesnum', pn.salesnum, 'no', pn.NO)) AS sku, p.uid, p.fid, p.DIRECTORY, p.brand, p.bh, p.NAME, p.factory, p.factory_name AS 'factoryName', p.fprice, p.cost_amount AS 'costAmount', p.price, p.discount, p.discount_price AS 'discountPrice', p.has_directory_discount AS 'hasDirectoryDiscount', p.member_discount AS 'memberDiscount', p.member_price AS 'memberPrice', p.dat, p.modify_date AS 'modifyDate', p.nw, p.unit, p.pdesc, p.image222, p.imgs, p.remark, p.ONLINE, p.opensales, p.opensales_time AS 'opensalesTime', p.stopsales_time AS 'stopsalesTime', p.opensales_user AS 'opensalesUser', p.num, p.salesnum, p.material, p.quality, p.safety_grade AS 'safetyGrade', p.exe_standard AS 'exeStandard', p.washing_method AS 'washingMethod', p.has_open_discount AS 'hasOpenDiscount', p.has_give_points AS 'hasGivePoints', p.has_online AS 'hasOnline', p.video_url AS 'videoUrl', p.web_category_id AS 'webCategoryId', p.web_category_name AS 'webCategoryName', p.good_appraise_nums AS 'goodAppraiseNums', p.total_appraise_grade AS 'totalAppraiseGrade', p.default_sort AS 'defaultSort', p.has_open_member_discount AS hasOpenMemberDiscount FROM t_product p LEFT JOIN t_product_num pn ON p.guid = pn.guid GROUP BY pn.guid
mysql 一张主表 一张子表 上传到ES一个索引 mysql查询时将子表数据转成json为es索引的一个字段 结果里面的中文全乱码了
SELECT p.guid, JSON_ARRAYAGG( JSON_OBJECT( 'guid', pn.guid, 'colorid', pn.colorid, 'sizeid', pn.sizeid, 'barcode', pn.barcode, 'num', pn.num, 'salesnum', pn.salesnum, 'no', pn.NO)) AS sku, p.uid, p.fid, p.DIRECTORY, p.brand, p.bh, p.NAME, p.factory, p.factory_name AS 'factoryName', p.fprice, p.cost_amount AS 'costAmount', p.price, p.discount, p.discount_price AS 'discountPrice', p.has_directory_discount AS 'hasDirectoryDiscount', p.member_discount AS 'memberDiscount', p.member_price AS 'memberPrice', p.dat, p.modify_date AS 'modifyDate', p.nw, p.unit, p.pdesc, p.image222, p.imgs, p.remark, p.ONLINE, p.opensales, p.opensales_time AS 'opensalesTime', p.stopsales_time AS 'stopsalesTime', p.opensales_user AS 'opensalesUser', p.num, p.salesnum, p.material, p.quality, p.safety_grade AS 'safetyGrade', p.exe_standard AS 'exeStandard', p.washing_method AS 'washingMethod', p.has_open_discount AS 'hasOpenDiscount', p.has_give_points AS 'hasGivePoints', p.has_online AS 'hasOnline', p.video_url AS 'videoUrl', p.web_category_id AS 'webCategoryId', p.web_category_name AS 'webCategoryName', p.good_appraise_nums AS 'goodAppraiseNums', p.total_appraise_grade AS 'totalAppraiseGrade', p.default_sort AS 'defaultSort', p.has_open_member_discount AS hasOpenMemberDiscount FROM t_product p LEFT JOIN t_product_num pn ON p.guid = pn.guid GROUP BY pn.guid
SQL语句 是能正常运行的 关键是JSON_ARRAYAGG( JSON_OBJECT( 'guid', pn.guid, 'colorid', pn.colorid, 'sizeid', pn.sizeid, 'barcode', pn.barcode, 'num', pn.num, 'salesnum', pn.salesnum, 'no', pn.NO)) AS sku
转为nested上传上去后 就会乱码
{ "job": { "setting": { "speed": { "channel": 5 }, "errorLimit": { "record": 0, "percentage": 0.02 } }, "content": [{ "reader": { "encoding":"UTF-8", "name": "mysqlreader", "parameter": { "username": "password": "",
}