Authored by wangnan

搜索文档整理

Showing 33 changed files with 491 additions and 491 deletions
# 接口编号
接口编号用于接口降级使用
## api.yoho.cn
|接口名称| 编号|
|---|:---|
|app.product.intro|1|
|app.product.data|2|
|app.sort.get|3|
|app.search.category|4|
|app.search.sales|5|
|app.search.newProduct|6|
|app.search.fuzzy|7|
|app.search.li|8|
|app.brand.brandlist|9|
|app.search.brand|10|
|app.favorite.add|11|
|app.favorite.cancel|12|
|app.home.preference|13|
|app.search.top|14|
|app.search.last7day|15|
|h5.consult.li|16|
|h5.consult.add|17|
|h5.preference.Search|18|
|h5.sortPreference.Search|19|
|h5.product.data|20|
|h5.product.intro|21|
|app.config.fashioncodeTemplate|22|
|app.promotion.sendCheckCode|23|
|app.promotion.getCoupon|24|
|app.promotion.validCode|25|
|app.promotion.queryCoupon|26|
|app.address.get|27|
|app.address.getlist|28|
|app.address.add|29|
|app.address.del|30|
|app.address.setDefault|31|
|app.address.provinces|32|
|app.address.update|33|
|inbox.updateInbox|34|
|inbox.queryListById|35|
|app.inbox.getlist|36|
|app.inbox.getlistnew|37|
|app.register.sendRegCodeToMobile|38|
|app.register.validRegCode|39|
|app.coupons.total|40|
|app.coupons.li|41|
|app.home.getInfoNum|42|
|app.passport.register|43|
|app.passport.profile|44|
|app.passport.signin|45|
|app.passport.signinByOpenID|46|
|app.passport.bind|47|
|app.passport.changeCheck|48|
|app.passport.modifyBase|49|
|app.passport.check|50|
|app.passport.getPrivilege|51|
|app.passport.smsbind|52|
|app.passport.vip|53|
|app.passport.changeMobile|54|
|app.brand.getBrandIntro|55|
|app.yohocoin.lists|56|
|app.yohocoin.total|57|
|show.toShareOrderList|58|
|show.productShareOrderList|59|
|show.allToShareOrderList|60|
|show.ownerShareList|61|
|show.otherToShareOrderList|62|
|show.showChannel|63|
|show.saveShareOrder|64|
|app.SpaceOrders.getShareOrder|65|
|app.SpaceOrders.info|66|
|app.SpaceOrders.get|67|
|app.SpaceOrders.detail|68|
|app.SpaceOrders.confirm|69|
|app.favorite.brand|70|
|app.favorite.product|71|
|app.consult.add|72|
|app.consult.li|73|
|app.consult.common|74|
|app.product.preference|75|
|app.consult.useful|76|
|app.consult.like|77|
|app.resources.config.clientInitConfig|78|
|app.Shopping.add|79|
|app.Shopping.cart|80|
|app.Shopping.increase|81|
|app.Shopping.decrease|82|
|app.Shopping.swap|83|
|app.Shopping.remove|84|
|app.Shopping.payment|85|
|app.Shopping.count|86|
|app.Shopping.selected|87|
|app.Shopping.compute|88|
|app.Shopping.useCoupon|89|
|app.Shopping.submit|90|
|app.yoho.yohocoin|91|
|app.browse.product|92|
|app.browse.delete|93|
|app.yoho.redpacket|94|
|app.yoho.redpacketInfo|95|
|app.promotion.queryBirthCoupon|96|
|app.resources.getNotices|97|
|app.promotion.queryUserShowYohoCoin|98|
|app.Shopping.usePromotionCode|99|
|show.addPraise|100|
|show.cancelPraise|101|
|app.promotion_code.get|102|
|app.express.get|103|
|app.express.li|104|
|app.express.getExpressInfo|105|
|app.express.getExpressCompany|106|
|app.express.getNewExpress|107|
|app.express.getRefundExpress|108|
|app.refund.goodsList|109|
|app.refund.getList|110|
|app.refund.detail|111|
|app.refund.setexpress|112|
|app.refund.submit|113|
|app.SpaceOrders.close|114|
|app.SpaceOrders.delOrderByCode|115|
|app.register.sendBackpwdCodeToMobile|116|
|app.register.validBackpwdCode|117|
|app.register.changepwdByMobileCode|118|
|app.register.backpwdByEmail|119|
|app.inbox.getTotal|120|
|app.product.gift|121|
|app.consult.lastTwo|122|
|show.recentShareOrderByProductId|123|
|app.SpaceOrders.payConfirm|124|
|app.SpaceOrders.updateOrdersPaymentByCode|125|
|app.Shopping.erpSubmitStat|126|
|app.search.getTerms|127|
|app.search.compareRecord|128|
|app.search.getTerms|129|
|app.brand.banner|130|
|app.SpaceOrders.close|131|
|app.change.submit|132|
|app.change.detail|133|
|app.change.setexpress|134|
|app.change.getDelivery|135|
|app.change.goodsList|136|
|app.cover.getCoverStart|137|
|app.msgsys.getIosUser|138|
|app.Msgsys.getAndroidUser|139|
|app.msgsys.pushIosUser|140|
|app.Msgsys.pushAndroidUser|141|
|app.activity.getlist|142|
|app.activity.bindaccount|143|
|app.activity.getshare|144|
|app.activity.addshare|145|
|app.search.lifeStyle|146|
|app.search.kids|147|
|app.brand.banner|148|
|app.help.li|149|
|app.help.detail|150|
|app.drawline.getQueueList|151|
|app.drawline.addQueue|152|
|app.drawline.getUserActivityInfo|153|
|app.drawline.getActivityInfo|154|
|app.drawline.getLuckyUserList|155|
|app.drawline.changeTaskValue|156|
|app.limitcode.add|157|
|app.limitcode.query|158|
|app.limitcode.showredpoint|159|
|app.limitcode.deleteinvalid|160|
|app.limitProduct.alreadySaleLimitProduct|161|
|app.limitProduct.hotLimitProduct|162|
|app.limitProduct.soonToSaleLimitProduct|163|
|app.limitProduct.limitProductDetail|164|
|app.limitProduct.limitProductHtml|165|
|app.reminder.addUserReminder|166|
|app.reminder.getUserReminder|167|
|show.notCommentRecordCount|168|
|app.help.li|169|
|app.help.detail|170|
## service.yoho.cn
|接口名称| 编号|
|---|:---|
|/operations/api/v5/webshare/getShare|1000|
|/operations/api/v4/icon/getIcon|1001|
|/operations/api/v5/resource/home |1002|
|/operations/api/v5/resource/get |1003|
|/union/UnionRest/activeUnion |1004|
|/payment/wechat_data |1005|
|/payment/wechat_notify|1006|
|/payment/alipaywap_notify |1007|
|/payment/wechatwap_notify |1008|
|/payment/alipay_notify |1009|
|/payment/alipay_newnotify |1010|
|/payment/unionpay_notify|1011|
|/payment/unionpay_newnotify|1012|
|/payment/unionpay_data|1013|
|/operations/api/v5/help/getCategory|1014|
|/operations/api/v5/help/getHelp|1015|
|/operations/api/v5/help/getHelpContent|1016|
|/operations/api/v6/category/getCategory|1017|
|/operations/api/v5/entrance/getEntrance|1018|
# 接口编号
接口编号用于接口降级使用
## api.yoho.cn
|接口名称| 编号|
|---|:---|
|app.product.intro|1|
|app.product.data|2|
|app.sort.get|3|
|app.search.category|4|
|app.search.sales|5|
|app.search.newProduct|6|
|app.search.fuzzy|7|
|app.search.li|8|
|app.brand.brandlist|9|
|app.search.brand|10|
|app.favorite.add|11|
|app.favorite.cancel|12|
|app.home.preference|13|
|app.search.top|14|
|app.search.last7day|15|
|h5.consult.li|16|
|h5.consult.add|17|
|h5.preference.Search|18|
|h5.sortPreference.Search|19|
|h5.product.data|20|
|h5.product.intro|21|
|app.config.fashioncodeTemplate|22|
|app.promotion.sendCheckCode|23|
|app.promotion.getCoupon|24|
|app.promotion.validCode|25|
|app.promotion.queryCoupon|26|
|app.address.get|27|
|app.address.getlist|28|
|app.address.add|29|
|app.address.del|30|
|app.address.setDefault|31|
|app.address.provinces|32|
|app.address.update|33|
|inbox.updateInbox|34|
|inbox.queryListById|35|
|app.inbox.getlist|36|
|app.inbox.getlistnew|37|
|app.register.sendRegCodeToMobile|38|
|app.register.validRegCode|39|
|app.coupons.total|40|
|app.coupons.li|41|
|app.home.getInfoNum|42|
|app.passport.register|43|
|app.passport.profile|44|
|app.passport.signin|45|
|app.passport.signinByOpenID|46|
|app.passport.bind|47|
|app.passport.changeCheck|48|
|app.passport.modifyBase|49|
|app.passport.check|50|
|app.passport.getPrivilege|51|
|app.passport.smsbind|52|
|app.passport.vip|53|
|app.passport.changeMobile|54|
|app.brand.getBrandIntro|55|
|app.yohocoin.lists|56|
|app.yohocoin.total|57|
|show.toShareOrderList|58|
|show.productShareOrderList|59|
|show.allToShareOrderList|60|
|show.ownerShareList|61|
|show.otherToShareOrderList|62|
|show.showChannel|63|
|show.saveShareOrder|64|
|app.SpaceOrders.getShareOrder|65|
|app.SpaceOrders.info|66|
|app.SpaceOrders.get|67|
|app.SpaceOrders.detail|68|
|app.SpaceOrders.confirm|69|
|app.favorite.brand|70|
|app.favorite.product|71|
|app.consult.add|72|
|app.consult.li|73|
|app.consult.common|74|
|app.product.preference|75|
|app.consult.useful|76|
|app.consult.like|77|
|app.resources.config.clientInitConfig|78|
|app.Shopping.add|79|
|app.Shopping.cart|80|
|app.Shopping.increase|81|
|app.Shopping.decrease|82|
|app.Shopping.swap|83|
|app.Shopping.remove|84|
|app.Shopping.payment|85|
|app.Shopping.count|86|
|app.Shopping.selected|87|
|app.Shopping.compute|88|
|app.Shopping.useCoupon|89|
|app.Shopping.submit|90|
|app.yoho.yohocoin|91|
|app.browse.product|92|
|app.browse.delete|93|
|app.yoho.redpacket|94|
|app.yoho.redpacketInfo|95|
|app.promotion.queryBirthCoupon|96|
|app.resources.getNotices|97|
|app.promotion.queryUserShowYohoCoin|98|
|app.Shopping.usePromotionCode|99|
|show.addPraise|100|
|show.cancelPraise|101|
|app.promotion_code.get|102|
|app.express.get|103|
|app.express.li|104|
|app.express.getExpressInfo|105|
|app.express.getExpressCompany|106|
|app.express.getNewExpress|107|
|app.express.getRefundExpress|108|
|app.refund.goodsList|109|
|app.refund.getList|110|
|app.refund.detail|111|
|app.refund.setexpress|112|
|app.refund.submit|113|
|app.SpaceOrders.close|114|
|app.SpaceOrders.delOrderByCode|115|
|app.register.sendBackpwdCodeToMobile|116|
|app.register.validBackpwdCode|117|
|app.register.changepwdByMobileCode|118|
|app.register.backpwdByEmail|119|
|app.inbox.getTotal|120|
|app.product.gift|121|
|app.consult.lastTwo|122|
|show.recentShareOrderByProductId|123|
|app.SpaceOrders.payConfirm|124|
|app.SpaceOrders.updateOrdersPaymentByCode|125|
|app.Shopping.erpSubmitStat|126|
|app.search.getTerms|127|
|app.search.compareRecord|128|
|app.search.getTerms|129|
|app.brand.banner|130|
|app.SpaceOrders.close|131|
|app.change.submit|132|
|app.change.detail|133|
|app.change.setexpress|134|
|app.change.getDelivery|135|
|app.change.goodsList|136|
|app.cover.getCoverStart|137|
|app.msgsys.getIosUser|138|
|app.Msgsys.getAndroidUser|139|
|app.msgsys.pushIosUser|140|
|app.Msgsys.pushAndroidUser|141|
|app.activity.getlist|142|
|app.activity.bindaccount|143|
|app.activity.getshare|144|
|app.activity.addshare|145|
|app.search.lifeStyle|146|
|app.search.kids|147|
|app.brand.banner|148|
|app.help.li|149|
|app.help.detail|150|
|app.drawline.getQueueList|151|
|app.drawline.addQueue|152|
|app.drawline.getUserActivityInfo|153|
|app.drawline.getActivityInfo|154|
|app.drawline.getLuckyUserList|155|
|app.drawline.changeTaskValue|156|
|app.limitcode.add|157|
|app.limitcode.query|158|
|app.limitcode.showredpoint|159|
|app.limitcode.deleteinvalid|160|
|app.limitProduct.alreadySaleLimitProduct|161|
|app.limitProduct.hotLimitProduct|162|
|app.limitProduct.soonToSaleLimitProduct|163|
|app.limitProduct.limitProductDetail|164|
|app.limitProduct.limitProductHtml|165|
|app.reminder.addUserReminder|166|
|app.reminder.getUserReminder|167|
|show.notCommentRecordCount|168|
|app.help.li|169|
|app.help.detail|170|
## service.yoho.cn
|接口名称| 编号|
|---|:---|
|/operations/api/v5/webshare/getShare|1000|
|/operations/api/v4/icon/getIcon|1001|
|/operations/api/v5/resource/home |1002|
|/operations/api/v5/resource/get |1003|
|/union/UnionRest/activeUnion |1004|
|/payment/wechat_data |1005|
|/payment/wechat_notify|1006|
|/payment/alipaywap_notify |1007|
|/payment/wechatwap_notify |1008|
|/payment/alipay_notify |1009|
|/payment/alipay_newnotify |1010|
|/payment/unionpay_notify|1011|
|/payment/unionpay_newnotify|1012|
|/payment/unionpay_data|1013|
|/operations/api/v5/help/getCategory|1014|
|/operations/api/v5/help/getHelp|1015|
|/operations/api/v5/help/getHelpContent|1016|
|/operations/api/v6/category/getCategory|1017|
|/operations/api/v5/entrance/getEntrance|1018|
|/operations/api/v5/version/getVersion|1019|
\ No newline at end of file
... ...
## 1、获取品类对应的size##
(/sort_sizes.json)
请求方式:get
#### 请求参数
| 参数名称 | 参数类型 | 可否为空 | 示例 | 默认值 | 备注 |
|:-------| -----:|-----:|-----:|-----:|----:|
|breaking|String|否|1|1|1:断码 0:非断码,传空字符串则表示不限|
|storage_num|String|否|1|1|sku库存的最小值|
|sort|String|否|119|null|小分类id,以逗号隔开|
|size|String|否|203|null|尺码 Id,以逗号隔开|
|productStatus|String|否|1|1|商品状态1:上架 非1:下架,主动传空字符串表示不限|
|attribute_not|String|否|2|2|1: 取赠品 2:不取赠品,主动传空字符串表示不限|
请求示例
http://192.168.10.64:8080/yohosearch/sort_sizes.json?breaking=1&storage_num=1
### 响应
code为200即为成功且只会返回200,其他code表示失败。
响应JSON格式如下所示:
```json
{
"code": 200,
"message": "success",
"data": {
"total": 3,
"list": [
{
"small_sort_id": 119,
"middle_sort_id": 16,
"max_sort_id": 1,
"count": 2,
"sizes": [
{
"size_id": 203,
"size_name": "M"
},
{
"size_id": 271,
"size_name": "52"
}
]
},
{
"small_sort_id": 114,
"middle_sort_id": 11,
"max_sort_id": 1,
"count": 5,
"sizes": [
{
"size_id": 201,
"size_name": "L"
},
{
"size_id": 203,
"size_name": "M"
},
{
"size_id": 211,
"size_name": "XL"
},
{
"size_id": 207,
"size_name": "S"
},
{
"size_id": 199,
"size_name": "F"
}
]
},
{
"small_sort_id": 433,
"middle_sort_id": 429,
"max_sort_id": 365,
"count": 1,
"sizes": [
{
"size_id": 199,
"size_name": "F"
}
]
}
]
}
}
```
## 2、根据品类、库存、断码等获取商品列表(fix search.json的库存功能)##
(/sort_size_products.json)
请求方式:get
#### 请求参数
| 参数名称 | 参数类型 | 可否为空 | 示例 | 默认值 | 备注 |
|:-------| -----:|-----:|-----:|-----:|----:|
|storage_num|String|否|1|1|sku库存的最小值,不传默认1|
|breaking|String|否|1|为1|1:断码 0:非断码,不传默认1|
|sort|String|否|119|null|小分类id,以逗号隔开,不传默认空|
|size|String|否|203|null|尺码 Id,以逗号隔开,不传默认空|
|status|String|否|1|1|商品状态1:上架 非1:下架,不传默认为1|
|其他参数|||||同search.json的参数|
请求示例
http://192.168.10.64:8080/yohosearch/sort_size_products.json?breaking=1&storage_num=1&sort=119&size=203
### 响应
code为200即为成功且只会返回200,其他code表示失败。
响应JSON格同search.json
## 1、获取品类对应的size##
(/sort_sizes.json)
请求方式:get
#### 请求参数
| 参数名称 | 参数类型 | 可否为空 | 示例 | 默认值 | 备注 |
|:-------| -----:|-----:|-----:|-----:|----:|
|breaking|String|否|1|1|1:断码 0:非断码,传空字符串则表示不限|
|storage_num|String|否|1|1|sku库存的最小值|
|sort|String|否|119|null|小分类id,以逗号隔开|
|size|String|否|203|null|尺码 Id,以逗号隔开|
|productStatus|String|否|1|1|商品状态1:上架 非1:下架,主动传空字符串表示不限|
|attribute_not|String|否|2|2|1: 取赠品 2:不取赠品,主动传空字符串表示不限|
请求示例
http://192.168.10.64:8080/yohosearch/sort_sizes.json?breaking=1&storage_num=1
### 响应
code为200即为成功且只会返回200,其他code表示失败。
响应JSON格式如下所示:
```json
{
"code": 200,
"message": "success",
"data": {
"total": 3,
"list": [
{
"small_sort_id": 119,
"middle_sort_id": 16,
"max_sort_id": 1,
"count": 2,
"sizes": [
{
"size_id": 203,
"size_name": "M"
},
{
"size_id": 271,
"size_name": "52"
}
]
},
{
"small_sort_id": 114,
"middle_sort_id": 11,
"max_sort_id": 1,
"count": 5,
"sizes": [
{
"size_id": 201,
"size_name": "L"
},
{
"size_id": 203,
"size_name": "M"
},
{
"size_id": 211,
"size_name": "XL"
},
{
"size_id": 207,
"size_name": "S"
},
{
"size_id": 199,
"size_name": "F"
}
]
},
{
"small_sort_id": 433,
"middle_sort_id": 429,
"max_sort_id": 365,
"count": 1,
"sizes": [
{
"size_id": 199,
"size_name": "F"
}
]
}
]
}
}
```
## 2、根据品类、库存、断码等获取商品列表(fix search.json的库存功能)##
(/sort_size_products.json)
请求方式:get
#### 请求参数
| 参数名称 | 参数类型 | 可否为空 | 示例 | 默认值 | 备注 |
|:-------| -----:|-----:|-----:|-----:|----:|
|storage_num|String|否|1|1|sku库存的最小值,不传默认1|
|breaking|String|否|1|为1|1:断码 0:非断码,不传默认1|
|sort|String|否|119|null|小分类id,以逗号隔开,不传默认空|
|size|String|否|203|null|尺码 Id,以逗号隔开,不传默认空|
|status|String|否|1|1|商品状态1:上架 非1:下架,不传默认为1|
|其他参数|||||同search.json的参数|
请求示例
http://192.168.10.64:8080/yohosearch/sort_size_products.json?breaking=1&storage_num=1&sort=119&size=203
### 响应
code为200即为成功且只会返回200,其他code表示失败。
响应JSON格同search.json
... ...
# 全球购Yoho商品搜索引擎融合方案
目前全球购和yoho商品在搜索引擎中的索引是不同的,分别是tplproduct 和productindex。由于productindex的字段远远多于tplproduct的字段,所以整个融合过程会分为几个阶段,循序渐进来完成2个商品共用一个索引。
- 适配模式。通过开发适配器,把全球购的字段转化成yoho商品的字段,全球购商品更新到productindex中
### Version
1.0.0
### tplproduct字段定义
字段 | 说明
-----|-----
product_skn|商品skn
product_name|商品名称
source|商品来源
brand_id|品牌id
sort_one|一级品类id
sort_two|二级品类id
sort_three|三级品类id
sort_four|四级品类id
product_url|商品网址
site_id|网站id
is_limited|是否是限量商品
country_id|国家编码
gender|性别 1.男 2.女 3.通用
currency_id|货币id
tag_price|吊牌价
orign_price|销售价(计算汇率后的)
sell_price|最小销售价
goods_price|最小商品价格(计算汇率后的)
got_price|最小到手价
weight|重量
size_info|尺码
status|商品状态
url_status|爬虫状态 1.生效 2.失效
stock_status|库存状态 1.有 2.无
operate_userid|操作人id
order|排序序列
create_time|创建时间
update_time|更新时间
shelf_time|上架时间
offshelf_time|定时下架时间
auto_shelf|是否自动上架 1.自动 2.手动
color_ids|skc颜色id组合 (1,2,3)
skc|skc的集合
cover|商品封面图
### productindex字段定义
字段 | 定义 | NULL| Key|DEFAULT
-----|-----|-----|----|-----
id |int(11)| unsigned| NO | 0
product_id |int(11) |unsigned |NO | 0
shelve_time int(10)| unsigned |NO | 0
shelve_day |varchar(10)| YES |
cn_alphabet| varchar(255)| YES |
product_name| varchar(100) |YES |
brand_name_cn| varchar(50)| YES |
brand_name_en| varchar(100)| YES |
brand_keyword| varchar(200)| YES |
hot_keyword| varchar(100)| YES |
brand_name| varchar(50)| YES |
brand_alif| varchar(1)| YES |
style| varchar(200)| YES |
sales_phrase| varchar(100)| YES |
max_sort_id| smallint(5)| unsigned| NO| 0
max_sort_name| varchar(42)| YES |
max_sort| varchar(30) |YES |
middle_sort_id| smallint(5)| unsigned| NO | 0
middle_sort| varchar(30) |YES |
middle_sort_name| varchar(42)| YES |
small_sort_id| smallint(5) |unsigned| NO | 0
small_sort| varchar(30)| YES |
small_sort_name| varchar(42)| YES |
gender| enum('1','2','3')| YES |
gender_s| varchar(3)| YES |
brand_id| smallint(5)| unsigned| NO| 0
is_special| enum('Y','N')| YES | N|
status| tinyint(4)| NO | 0
seasons_s| int(0) |YES |
isspecial| int(1)| NO | 0|
is_hot |enum('Y','N')| YES | N|
folder_id| int(11) |YES | 0|
ishot| int(1)| NO | 0|
ispromotion| smallint(6)| NO | 0|
series_id| int(11)| unsigned| NO| 0|
is_sales| enum('Y','N')| YES | Y|
issales int(1)| NO ||| 0|
is_advance| enum('Y','N')| YES | N|
isadvance| int(1)| NO| 0||
is_auditing| enum('Y','N')| YES | Y||
isauditing| int(1)| NO | 0||
attribute| tinyint(4)| NO | |0|
seasons |set('spring','summer','autumn','winter','seasons')| YES |||
is_down| enum('Y','N')| YES | N||
isdown| int(1)| NO | 0||
isrecommend| int(1)| NO | 0|
is_outlets| int(1)| NO | 0|
first_shelve_time| int(10)| unsigned| YES | 0|
sell_channels| set('0','1','2','3','4','5','6','7','8','9')| YES | 0|
product_skn| int(11)| unsigned| NO |
isnew| varchar(1)| NO |
brand_domain| varchar(50) |YES |
islimited| varchar(1) |NO |
edit_time| int(10)| unsigned| NO | 0|
special_price| decimal(10,2)| YES | 0|
market_price| decimal(10,2)| YES | 0|
vip_discount_type| tinyint(4)| YES | 1|
vip_price |decimal(10,2)| YES | 0|
vip1_price| decimal(10,2)| YES | 0|
vip2_price| decimal(10,2)| YES | 0|
vip3_price |decimal(10,2)| YES | 0|
sales_price| decimal(10,2)| YES | 0|
promotion_discount_int| decimal(12,0)| YES |
promotion_discount| decimal(13,3)| YES |
specialoffer| varchar(1)| NO |
is_discount| varchar(1) |NO |
product_keyword| varchar(200)| YES |
color_ids |longtext |YES |
color_names |longtext| YES |
standard_ids |longtext |YES |
standard_names |longtext| YES |
standard_only_names |longtext |YES |
sales_num| decimal(33,0)| YES |
storage_num |decimal(33,0)| YES |
is_soon_sold_out| varchar(1) |NO |
is_sold_out| varchar(1)| NO |
sold_out| varchar(1)| NO |
size_ids |longtext| YES |
style_ids |longtext| YES |
goods_list| mediumtext |YES |
default_images| varchar(255)| YES |
activities |mediumtext |YES |
sort_weight| decimal(11,0)| NO | 0|
brand_weight| decimal(11,0)| NO | 0|
yohood_id| smallint(6)| YES |
base_pin_ratio |double| YES |
breaking_rate| double |YES |
discount_score| double |YES |
pool_id |longtext| YES |
### 适配器设计
1 全球购商品融合到productindex
(1)适配器通过调用全球购的url+key获取全球购商品,参考:
```sh
wget ${tbl.product.url}getproductscountforsearch?client_type=iphone&client_secret=xx
```
其中xx为客户端key,需要进行md5的转化,转化如下:
```sh
clientkey= MD5Util.string2MD5("client_type=iphone&private_key=" + ${tbl.product.private.key});
${tbl.product.url}:全球购url ,可以找周硕要
${tbl.product.private.key}:全球购产品密钥
```
(2)获取全球购产品后,需要参考yoho商品productindex 封装成商品list。
```sh
List<ProductIndex> globalProducts = ProductAdaprotr.changed(List<tplproduct>);
```
(3)搜索这边会每隔一段时间(默认间隔为1个小时)获取globalProducts,之后会进行product_index的更新,这样全球购商品就能在product_index里面搜索得到。
2 yoho部分商品(部分品牌下的商品)融合到全球购索引
商品适配模块需要支持逆向适配,其中:
(1)部分brand品牌下的商品需要按照全球购的字段转成全球购商品列表。
可直接从yh_shops库product表中根据brand查到对应的product,然后按照全球购的字段转成全球购的商品列表
```sh
List<product> = XXservice.getProduct(String brandname);
List<tplproduct> yohoProducts = ProductAdaprotr.changedfromProductIndex(List<product>);
```
(2)全球购对着部分商品列表进行存储计算。
(3)搜索引擎会定时从全球购获取商品列表,并进行tplproduct更新的操作。
# 全球购Yoho商品搜索引擎融合方案
目前全球购和yoho商品在搜索引擎中的索引是不同的,分别是tplproduct 和productindex。由于productindex的字段远远多于tplproduct的字段,所以整个融合过程会分为几个阶段,循序渐进来完成2个商品共用一个索引。
- 适配模式。通过开发适配器,把全球购的字段转化成yoho商品的字段,全球购商品更新到productindex中
### Version
1.0.0
### tplproduct字段定义
字段 | 说明
-----|-----
product_skn|商品skn
product_name|商品名称
source|商品来源
brand_id|品牌id
sort_one|一级品类id
sort_two|二级品类id
sort_three|三级品类id
sort_four|四级品类id
product_url|商品网址
site_id|网站id
is_limited|是否是限量商品
country_id|国家编码
gender|性别 1.男 2.女 3.通用
currency_id|货币id
tag_price|吊牌价
orign_price|销售价(计算汇率后的)
sell_price|最小销售价
goods_price|最小商品价格(计算汇率后的)
got_price|最小到手价
weight|重量
size_info|尺码
status|商品状态
url_status|爬虫状态 1.生效 2.失效
stock_status|库存状态 1.有 2.无
operate_userid|操作人id
order|排序序列
create_time|创建时间
update_time|更新时间
shelf_time|上架时间
offshelf_time|定时下架时间
auto_shelf|是否自动上架 1.自动 2.手动
color_ids|skc颜色id组合 (1,2,3)
skc|skc的集合
cover|商品封面图
### productindex字段定义
字段 | 定义 | NULL| Key|DEFAULT
-----|-----|-----|----|-----
id |int(11)| unsigned| NO | 0
product_id |int(11) |unsigned |NO | 0
shelve_time int(10)| unsigned |NO | 0
shelve_day |varchar(10)| YES |
cn_alphabet| varchar(255)| YES |
product_name| varchar(100) |YES |
brand_name_cn| varchar(50)| YES |
brand_name_en| varchar(100)| YES |
brand_keyword| varchar(200)| YES |
hot_keyword| varchar(100)| YES |
brand_name| varchar(50)| YES |
brand_alif| varchar(1)| YES |
style| varchar(200)| YES |
sales_phrase| varchar(100)| YES |
max_sort_id| smallint(5)| unsigned| NO| 0
max_sort_name| varchar(42)| YES |
max_sort| varchar(30) |YES |
middle_sort_id| smallint(5)| unsigned| NO | 0
middle_sort| varchar(30) |YES |
middle_sort_name| varchar(42)| YES |
small_sort_id| smallint(5) |unsigned| NO | 0
small_sort| varchar(30)| YES |
small_sort_name| varchar(42)| YES |
gender| enum('1','2','3')| YES |
gender_s| varchar(3)| YES |
brand_id| smallint(5)| unsigned| NO| 0
is_special| enum('Y','N')| YES | N|
status| tinyint(4)| NO | 0
seasons_s| int(0) |YES |
isspecial| int(1)| NO | 0|
is_hot |enum('Y','N')| YES | N|
folder_id| int(11) |YES | 0|
ishot| int(1)| NO | 0|
ispromotion| smallint(6)| NO | 0|
series_id| int(11)| unsigned| NO| 0|
is_sales| enum('Y','N')| YES | Y|
issales int(1)| NO ||| 0|
is_advance| enum('Y','N')| YES | N|
isadvance| int(1)| NO| 0||
is_auditing| enum('Y','N')| YES | Y||
isauditing| int(1)| NO | 0||
attribute| tinyint(4)| NO | |0|
seasons |set('spring','summer','autumn','winter','seasons')| YES |||
is_down| enum('Y','N')| YES | N||
isdown| int(1)| NO | 0||
isrecommend| int(1)| NO | 0|
is_outlets| int(1)| NO | 0|
first_shelve_time| int(10)| unsigned| YES | 0|
sell_channels| set('0','1','2','3','4','5','6','7','8','9')| YES | 0|
product_skn| int(11)| unsigned| NO |
isnew| varchar(1)| NO |
brand_domain| varchar(50) |YES |
islimited| varchar(1) |NO |
edit_time| int(10)| unsigned| NO | 0|
special_price| decimal(10,2)| YES | 0|
market_price| decimal(10,2)| YES | 0|
vip_discount_type| tinyint(4)| YES | 1|
vip_price |decimal(10,2)| YES | 0|
vip1_price| decimal(10,2)| YES | 0|
vip2_price| decimal(10,2)| YES | 0|
vip3_price |decimal(10,2)| YES | 0|
sales_price| decimal(10,2)| YES | 0|
promotion_discount_int| decimal(12,0)| YES |
promotion_discount| decimal(13,3)| YES |
specialoffer| varchar(1)| NO |
is_discount| varchar(1) |NO |
product_keyword| varchar(200)| YES |
color_ids |longtext |YES |
color_names |longtext| YES |
standard_ids |longtext |YES |
standard_names |longtext| YES |
standard_only_names |longtext |YES |
sales_num| decimal(33,0)| YES |
storage_num |decimal(33,0)| YES |
is_soon_sold_out| varchar(1) |NO |
is_sold_out| varchar(1)| NO |
sold_out| varchar(1)| NO |
size_ids |longtext| YES |
style_ids |longtext| YES |
goods_list| mediumtext |YES |
default_images| varchar(255)| YES |
activities |mediumtext |YES |
sort_weight| decimal(11,0)| NO | 0|
brand_weight| decimal(11,0)| NO | 0|
yohood_id| smallint(6)| YES |
base_pin_ratio |double| YES |
breaking_rate| double |YES |
discount_score| double |YES |
pool_id |longtext| YES |
### 适配器设计
1 全球购商品融合到productindex
(1)适配器通过调用全球购的url+key获取全球购商品,参考:
```sh
wget ${tbl.product.url}getproductscountforsearch?client_type=iphone&client_secret=xx
```
其中xx为客户端key,需要进行md5的转化,转化如下:
```sh
clientkey= MD5Util.string2MD5("client_type=iphone&private_key=" + ${tbl.product.private.key});
${tbl.product.url}:全球购url ,可以找周硕要
${tbl.product.private.key}:全球购产品密钥
```
(2)获取全球购产品后,需要参考yoho商品productindex 封装成商品list。
```sh
List<ProductIndex> globalProducts = ProductAdaprotr.changed(List<tplproduct>);
```
(3)搜索这边会每隔一段时间(默认间隔为1个小时)获取globalProducts,之后会进行product_index的更新,这样全球购商品就能在product_index里面搜索得到。
2 yoho部分商品(部分品牌下的商品)融合到全球购索引
商品适配模块需要支持逆向适配,其中:
(1)部分brand品牌下的商品需要按照全球购的字段转成全球购商品列表。
可直接从yh_shops库product表中根据brand查到对应的product,然后按照全球购的字段转成全球购的商品列表
```sh
List<product> = XXservice.getProduct(String brandname);
List<tplproduct> yohoProducts = ProductAdaprotr.changedfromProductIndex(List<product>);
```
(2)全球购对着部分商品列表进行存储计算。
(3)搜索引擎会定时从全球购获取商品列表,并进行tplproduct更新的操作。
... ...