mongodb和elasticsearch中的电子商务产品列表、筛选和搜索

lf5gs5x2  于 2021-06-14  发布在  ElasticSearch
关注(0)|答案(0)|浏览(258)

我在电子商务应用工作,在 Spring 启动开发。我有产品目录存储在mongodb目前。产品变体存在父子关系。。i、 e.主要产品内的变体阵列。。所以我的mongodb结构是这样的:

{
    name,
    id,
    category,
    subcategory,
    rating,
    gender,
    brand
    .
    .
    .
    variants:[
        {
            size,
            price,
            color,
            quantity,
            mrp,
            discount,
            offers[{id,title,subtitle},....]
            store_id,
            filters:[{name:"",value:""},{name:"",value:""}]

        },{
        }

    ]
},
{
}

所以在这里,我会根据品牌、类别、子类别(父级)在列表中显示产品,然后用变量的数据进行过滤,比如尺寸、颜色、价格范围、折扣百分比等等。。。
我的列表和过滤器与排序(价格从低到高,最新的等)是正常工作的这种结构。过滤器是完全动态的,其中键值对存储为每个变量的过滤器数组。我在应用程序中显示过滤器,包括所有适用的字段,如性别、折扣、类别、品牌、过滤器值。
现在我想使用ElasticSearch进行搜索。我使用过mongodb全文搜索,但是自动完成、拼写错误等在mongodb中是不可行的。所以我必须使用ElasticSearch。现在我的问题是如何在父/子模型的ElasticSearch中使用相同的结构?在elastic中,与mongo不同的是,嵌套数组很难使用。另外,在elaticsearch中使用过滤/排序和搜索文本以及动态过滤条件似乎与mongodb aggregate/match等不同。。
如何同时使用mongodb和ElasticSearch进行高效的过滤、搜索来克服这个问题?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题