【问题标题】:SOLR QueryElevationComponent for Multi-tenant Support用于多租户支持的 SOLR QueryElevationComponent
【发布时间】:2015-05-27 12:04:56
【问题描述】:

新手问题,请善待。 :)

基本上,我们需要为多租户 SOLR 环境实施编辑提升,其中来自用户的预定义查询总是会将特定的文档集放在结果的顶部。

我们面临的几个挑战包括:

  • 给定单个 elevate.xml,我们无法指出某个查询文本是针对特定租户的。尽管索引中存在tenantId,但在elevate.xml 文件中没有指示该id。我们曾考虑将 ID 连接到查询文本(即 ipod_tenantID1),但我认为连接在主查询“q”中是不可追踪的。

  • 我们需要对 elevate.xml 进行无缝更新,以供其他活动租户使用。更新 elevate.xml 需要重启 SOLR 服务器是否正确?如果是,有没有办法解决它?

【问题讨论】:

    标签: solr multi-tenant


    【解决方案1】:

    所以您使用的是单个核心/集合,而多租户由 fq=customer_id:A 强制执行,对吗?

    那么,如何通过每个客户一个集合来执行多租户呢?这样每个人都可以有自己的 conf(包括提升的东西)。

    关于您的第二个问题,我没有检查,但可能重新加载就足够了。如果您采用建议的解决方案,其他租户不会因重新加载而中断,因为您要处理不同的集合。

    【讨论】:

    • 谢谢@Persimmonium。正确的。现在是单核/集合,是的,fq=tenantID。我们将检查使用多核的可能性,但走这条路有什么直接的缺点吗?只是想确保我们覆盖所有基地。
    • @Shiro Kage 主要缺点是管理设置更复杂(多个集合/核心)。但也有更多优势(例如,更好的相关性,因为索引中的术语只属于一个租户,在单个收集情况下,它们都混合在一起)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-02
    • 1970-01-01
    • 2014-01-17
    • 2019-07-11
    相关资源
    最近更新 更多