我有大量的商店项目导入到elastic search中,我可以查询它们。
我想知道如何最好地将以下mysql表关系建模为elastic search:
商店项目可以有不同的优惠。有不同的优惠类型。并且在一些商店中可能提供物品,而在其他商店中该物品可能不提供或者具有不同的提供类型。物品不一定要有优惠。我的模型如下:
项目表
item_id优惠表
shop_id, item_id, offer_type, user_id其中user_id是创建报价的用户的id。
例如,店铺1和item_id _id‘s 1,2和offer_types premium and featured。
然后,offers表可能如下所示:
shop_id, item_id, offer_type, user_id
1,1,featured,45
2,1,premium,33
2,1,featured,45但并不是所有的商品都能买到。而且,即使item_id 1在商店1和商店2提供,它可能不会在其他商店提供。
我希望能够查询我的/items类型,它将只为一个商店在同一时间,但对于该商店,我想获得的所有项目,例如,某个价格范围和某个类别(我可以做所有准备),但我需要知道结果中的每个项目,他们有什么优惠,如果有(例如,如果特色,溢价或其他offer_type)。
我如何才能在弹性搜索中对这种行为进行最佳建模?
发布于 2015-07-21 22:53:31
一种方法是嵌套对象关系-- Shop包含一组id为你的商店id的商品
对于您的情况,1)获取商店的所有项目- GET:http://host/your_index/shops_type/shopid
这将为您提供商店中的所有商品以及offer_type。您可以在程序逻辑中进行筛选
https://stackoverflow.com/questions/31542155
复制相似问题