简体   繁体   English

SOLR QueryElevationComponent支持多租户

[英]SOLR QueryElevationComponent for Multi-tenant Support

Newbie question so please be nice. 新手问题,请保持友好。 :) :)

Basically we need to implement editorial boosting for a multi-tenant SOLR environment wherein a pre-defined query from a user would always bring a certain set of documents at the top of the results. 基本上,我们需要为多租户SOLR环境实现编辑提升,在这种环境中,来自用户的预定义查询将始终在结果的顶部带来一组特定的文档。

A couple of challenges we have include: 我们面临的几个挑战包括:

  • Given a single elevate.xml, we cannot indicate that a certain query text is intended for a particular tenant. 给定一个elevate.xml,我们无法表明特定查询文本是针对特定租户的。 Despite the existence of the tenantId in the index, there is no indication of that id in the elevate.xml file. 尽管索引中存在tenantId,但elevate.xml文件中没有该ID的指示。 We've thought of concatenating the ID to the query text (ie ipod_tenantID1) but I suppose the concatenation would not be traceable in the main query 'q'. 我们已经考虑过将ID连接到查询文本(即ipod_tenantID1),但是我想这个连接在主查询'q'中是不可追踪的。

  • We need to make updates to the elevate.xml seamless to the other active tenants. 我们需要与其他活动租户无缝地对elevate.xml进行更新。 Is it correct that updating elevate.xml would require a SOLR server restart? 更新elevate.xml是否需要重新启动SOLR服务器是否正确? If yes, is there a way to work around it? 如果是,是否有解决方法?

so you are using a single core/collection and the multitenancy is enforced by a fq=customer_id:A right? 因此,您使用的是单个核心/集合,并且多租户由fq=customer_id:A强制执行fq=customer_id:A对吗?

Well, what about enforcing the multitenancy via a one collection per customer? 那么,如何通过每个客户一个集合来实施多租户呢? This way each one can has its own conf (including elevate stuff). 这样,每个人都可以拥有自己的conf(包括升级内容)。

About your second question, I did not check but probably a reload would be enough. 关于您的第二个问题,我没有检查,但是重新加载就足够了。 If you go with the proposed solution, other tenants are not disrupted with the reload, as you deal with different collections. 如果您采用建议的解决方案,则其他租户不会因重新加载而中断,因为您处理的是不同的集合。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM