0

我们在 Lucene 之上使用 NHibernate 3.1 和 NHibernate.Search 进行全文搜索。到目前为止它运行良好,但我们有一些可扩展性问题:

在我们的数据库中,我们有几个不同客户的数据——每个客户都不能看到彼此的数据。到目前为止,我们已经使用过滤器解决了这个问题,但问题是我们的索引越来越大,并且我们遇到了悲观锁定阻碍查询的问题。

我们想做的是使用 Lucene 的分片功能对每个客户的索引进行分区(所有实体都有一个带有此 customerId 的属性)。

有没有人在 NHibernate Search 中尝试过这个 - 甚至可能吗?

4

1 回答 1

1

不确定您的数据库/会话工厂设置是什么样的,但您可以使用会话工厂指向每个客户的不同索引目录。如果您只有一个数据库,这可能有点奇怪,但如果您在 1 个数据库中支持多个客户的方法是合理的,那应该很轻松。

如果这听起来很有趣,请看一下这个答案

于 2011-07-28T17:26:51.643 回答