我目前在后端遇到问题,产品种类繁多,产品数百万,商店和库存数据不多。
我的用例:
我必须将商店,产品和库存数据同步到我的数据库中,然后根据过滤器,orderBys,用户位置和传递的搜索文本对其进行查询。我需要存储哪种产品在哪个存储中可用,并每隔几分钟更新一次此数据。我需要建立一个合适的全文搜索,使我还可以根据相关性对产品进行排序(可能是休眠搜索?)
示例请求:
根据搜索文字,过滤器,orderBys,用户的位置以及指定要包括哪些商店的区域来获取所有产品。在这种情况下,不仅要获得所有产品,还要获得商店以在地图上显示它们或计算距离。
想法/可能性:
商店和产品之间的- 一对多关系以及一个单独的关系
可用性表
问题:导致庞大的多对多数据库,无法在合理的时间(> 10秒)内加入
商店和产品之间的- 一对多关系,其可用性存储在nxm表中
- 问题:导致庞大的多对多数据库,无法在合理的时间(> 10秒)内加入
- 问题:存储要花一些时间+可用性更新是一个巨大的问题
- 带有“ ;;”的字符串产品中
- 问题:无法使用postGIS方法按商店位置排序
-问题:可能真的很慢
- 问题:没有联接就不会映射可用性
- 在产品中购买json([{“ id”:,价格:1,数量:12,位置:POINT(x,y)},{…}]
-问题:无法按商店位置排序
- 将产品ID存储在商店中的json中-问题:需要根据查询而不是商店来检索产品
堆栈:
- java 8
- 弹簧靴
- jpa,休眠
- postgreSQL / postGIS
有人可以给我提示或分享一些解决方法吗?