对nhibernate.search使用分片索引进行分片

我们在Lucene之上使用NHibernate 3.1和NHibernate.Search进行全文搜索。 到目前为止它工作的很好,但我们有一些可伸缩性问题:

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

我们想要做的是使用Lucene的分片功能为每个客户分配索引(所有实体都有一个属性与此customerId)。

有没有人在NHibernate Search中试过这个 - 是否有可能?


不知道你的数据库/会话工厂设置是什么样的,但你可以使用会话工厂指向每个客户的不同索引目录。 如果你只有一个数据库,这可能有点奇怪,但如果你在一个数据库中支持多个客户的方法是健全的,那么这应该是非常容易的。

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

链接地址: http://www.djcxy.com/p/41275.html

上一篇: Using sharding with nhibernate.search for partitioning indexes

下一篇: Indexing .PDF, .XLS, .DOC, .PPT using Lucene.NET