微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Mongodb和elasticsearch中的电子商务产品列表,过滤器和搜索

如何解决Mongodb和elasticsearch中的电子商务产品列表,过滤器和搜索

我正在从事春季启动开发的电子商务应用程序。 我目前在mongodb中存储了产品目录。产品变体之间存在父子关系。即主要产品内部的变体数组。所以我的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:""}]

        },{
        }

    ]
},{
}

因此,我在这里根据品牌,类别,子类别(父级)在产品列表中显示产品,然后使用变体的数据(例如尺寸,颜色,价格范围,折扣百分比等)进行过滤。

我的列表和排序过滤器(价格从低到高,最新等)在此结构下正常工作。筛选器是完全动态的,其中键值对存储为每个变量的筛选器数组。 我正在应用程序中显示过滤器,其中包含所有适用字段,例如性别,折扣,类别,品牌,过滤器值。

现在,我想使用弹性搜索进行搜索。我已经使用过mongodb全文搜索,但是在mongodb中无法自动完成,拼写错误等。所以我必须使用弹性搜索。 现在我的问题是如何在父/子模型的弹性搜索中使用相同的结构?在弹性方面,与mongo不同,它难以使用嵌套数组。另外,在具有动态过滤条件的elaticsearch中将过滤/排序与搜索文本一起使用似乎与mongodb聚合/匹配等不同。

如何有效地使用mongodb和弹性搜索进行过滤,以克服此问题?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。