我正在构建电子商务客户端集成到其网站的产品搜索窗口小部件。假设我有100个客户,每个客户有1000个产品。我应该在Algolia中使用一个或多个索引吗?
特定客户网站上的访问者只能搜索该客户的产品。
鉴于产品有着完全相同的属性(ID,名称,价格等)跨客户端:
我应该使用每个客户建立一个单独的索引,或一个索引来存储所有客户产品,并以某种方式将每个产品与客户端相关联?
在此先感谢。
我正在构建电子商务客户端集成到其网站的产品搜索窗口小部件。假设我有100个客户,每个客户有1000个产品。我应该在Algolia中使用一个或多个索引吗?
特定客户网站上的访问者只能搜索该客户的产品。
鉴于产品有着完全相同的属性(ID,名称,价格等)跨客户端:
我应该使用每个客户建立一个单独的索引,或一个索引来存储所有客户产品,并以某种方式将每个产品与客户端相关联?
在此先感谢。
我会强烈建议您创建一个单独的指数为每一个客户,因为它可以让你有
如果使用其他方法,情况并非如此。
只能使用一个索引。使用before_action :find_client
方法,其中客户端是由PARAM找到诸如CLIENT_ID
所以在你的控制器的私有部分新增
private
def find_client
@client = Client.find(params[:client_id])
end
,并确保用户只能看到该客户的产品。为此,您需要在访问索引页时在参数中传递client_id。
比根据您的索引操作中您的应用程序的结构,您需要筛选客户端的产品。客户端由您的find_client方法设置。