NHibernate搜索 - 多个Web服务器

Bra*_*don 6 .net c# lucene nhibernate lucene.net

我正在使用NHibernate.Search程序集,并正在寻找与多个Web服务器一起使用它的最佳实践.

我们的Web服务器上有足够的空间来处理我们生成的索引,所以我认为最好的方法是在每个Web服务器上都有索引.然后我索引的类添加一个版本列.我唯一的问题是,如果我这样做,NHibernate.Search是否足够聪明,可以提取最新记录并将其编入索引,如果让Web Server A更新记录并且Web Server B的索引已经过时了?

另一种选择是将索引存储在共享文件位置并从该网络资源中提取.这似乎是一个不太理想的解决方案,因为它不允许很大的冗余.

其他人如何用NHibernate.Search和/或Lucene.NET索引解决这个问题?

New*_*bie 3

当您决定将索引放在不同的机器上时,您就引入了“分布式搜索”问题。复制、冗余、管理、监控、搜索聚合等问题成为您需要解决的重要且有趣的问题。

也就是说,Solr是该问题的推荐解决方案之一。此外,SolrNet可以帮助您将其与 Nhibernate 集成。

我将这两个项目与 Nhibernate 结合使用,一开始可能会有点混乱,但后来就会得到回报。

就您而言,您可能会在 Web 服务器中运行 Solr。