假设我有一个带有产品数据的索引:
productid
productprice
productcategory
productname
以客户价格编制索引2:
customerid
customerprice
productid
我如何进行索引的索引,在哪里(如果客户登录),是否从索引2中检索匹配值(customerid,productid)的字段?
是否需要索引2,或者是否有更有效的方式来存储/检索客户特定的价格?
提前致谢
更新
如果您需要一个“范围”的表现,那么大约有7000个客户和200万个价格。
答案 0 :(得分:3)
首先做一些简单/有效的事情。
1)解决方案1 / SOLR指数 Solr不是数据库,它是一个搜索引擎,但如果你的价格非常不稳定(变化很大......等等)。最好去实施数据库。
如果您需要"范围"大约有7000个客户和200万个价格。在表现上。 Solr完成了很多参考。不要害怕,你需要建立好的索引,其余的由solr管理。
即使你想要使用solr,也可以执行一个索引:
- productid
- productprice
- productcategory
- productname
- customerid
- customerprice
2)我建议你使用Redis DB,你的用例实际上并不是一个搜索引擎。在redis中你会像这样存储
product:{productid} => {productprice, productcategory, productname}
product:{productid}:customer:{custumerid} => {customerprice}
Redis速度极快,可以伸缩并加载到内存中!