我正在处理的数据库采用多租户设计。我想在我的应用程序上实现hibernate搜索,但我希望hibernate搜索只为某个租户编制索引。我如何实现这一目标?
答案 0 :(得分:3)
您应该能够使用动态分片 - http://docs.jboss.org/hibernate/stable/search/reference/en-US/html_single/#advanced-features-dynamic-sharding
这允许您将数据拆分(分片)为多个Lucene索引。使用动态分片,您可以使用自定义ShardIdentifierProvider
在索引和查询时路由数据。当然,这要求您在实施中可以访问租户ID,例如通过ThreadLocal
。