Elasticsearch商店的品牌和产品,两个实体之间的一对多关系,搜索和分页

时间:2019-03-22 16:15:25

标签: elasticsearch nosql

我有产品及其品牌, 以前我的映射是

{
"product_id",
"product_name",
"brand_id",
"brand_name",
"city_id",
//other filters associated with product
}

在我也需要搜索品牌之前,它一直运行良好,根据当前的映射,很难对文档进行分页 所以我为品牌创建了一个单独的映射,现在的模式是

{
"product_id",
"product_name",
"brand_id",
"city_id",
"doc_type"   //product
//other filters associated with product
}
{
"brand_id",
"brand_name",
"doc_type"   //brand
}

但是我无法搜索带有与产品相关联的过滤器的品牌,例如,要在城市A中找到带有产品的品牌,我可以使用应用程序级别的联接,但是假设如果我有10万种带有当前过滤器的产品,则需要将这些ID存储在内存中在我查询品牌表之前。我可以在品牌表中添加这些过滤器,但这不仅是错误的,而且很难跟踪品牌中产品的更新和删除。作为nosql的新手,我的设计似乎绝对错误。

我如何更好地进行设计,以便能够通过与产品相关联的过滤器对产品和品牌进行搜索?

0 个答案:

没有答案