Hibernate搜索索引单个租户

时间:2014-06-19 12:19:24

标签: java hibernate lucene hibernate-search multi-tenant

我正在处理的数据库采用多租户设计。我想在我的应用程序上实现hibernate搜索,但我希望hibernate搜索只为某个租户编制索引。我如何实现这一目标?

1 个答案:

答案 0 :(得分:3)

您应该能够使用动态分片 - http://docs.jboss.org/hibernate/stable/search/reference/en-US/html_single/#advanced-features-dynamic-sharding

这允许您将数据拆分(分片)为多个Lucene索引。使用动态分片,您可以使用自定义ShardIdentifierProvider在索引和查询时路由数据。当然,这要求您在实施中可以访问租户ID,例如通过ThreadLocal