【发布时间】:2014-12-30 11:56:58
【问题描述】:
我的要求是每个租户的每个索引,我已经将休眠配置为 MultiTenant,我需要将每个租户的数据库索引到不同的索引。我见过动态分片策略。但需求是动态的。它可以有 n 个分片,而不需要关于每个租户存在的任何预先信息。甚至我的索引器也应该以这种方式工作。每当它发现获取索引的休眠请求时,它应该首先索引该租户,然后搜索它。
我该怎么做..??
谁能给我一些例子。 请不要提供休眠文档链接...甚至是用于休眠搜索的 Jboss 文档链接。
【问题讨论】:
-
所以您说您已经看过并阅读了 Hibernate Search 的动态分片文档。您是否查看过 ShardIdentifierProvider 和文档中给出的示例。动态共享允许您动态创建新的分片,为什么它不适合您的用例?
-
我读过。它适合它.. Bt 我的要求是我也可以分别对每个租户进行动态分片。
-
嗨哈迪,我研究了休眠搜索,但我目前面临的问题是当我尝试使用动态分片策略时。在触发搜索查询时。但它没有按代码索引数据如下 FullTextSession fullTextSession = Search.getFullTextSession(getCurrentSession()); fullTextSession.createIndexer().startAndWait();
-
我也有类似的问题。 MassIndexer 似乎不适用于具有动态分片标识符的 MultiTenant,尽管我使用的 Hibernate 通过 Multi Tenancy MultiTenantConnectionProvider 支持。
-
我认为在这种情况下使用质量索引器确实行不通。正如您所说,您将无法通过 ThreadLocal 获取租户 ID。您可以尝试通过 FullTextSession#index 进行索引。看看这个例子docs.jboss.org/hibernate/stable/search/reference/en-US/…
标签: lucene hibernate-search multi-tenant