问题描述
我正在从事春季启动开发的电子商务应用程序。 我目前在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 (将#修改为@)