简体   繁体   中英

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.

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. Despite the existence of the tenantId in the index, there is no indication of that id in the elevate.xml file. 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'.

  • We need to make updates to the elevate.xml seamless to the other active tenants. Is it correct that updating elevate.xml would require a SOLR server restart? 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?

Well, what about enforcing the multitenancy via a one collection per customer? This way each one can has its own conf (including elevate stuff).

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.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

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