我在电子商务应用工作,在 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进行高效的过滤、搜索来克服这个问题?
暂无答案!
目前还没有任何答案,快来回答吧!