我有一个Asp.Net MVC应用程序,我正在研究实现一个搜索个人的搜索引擎。我想使用Nhibernate Search& Lucene.Net这样可以在插入或更新个人时保持索引同步,从而在用户运行搜索时可以看到更改。
我遇到的问题是如果多个用户同时更新索引,Nhibernate Search如何处理这个问题呢? Lucene负责锁定吗?
非常感谢任何帮助。
此致
垃圾邮件
答案 0 :(得分:1)
我相信这篇文章可能会回答你的问题:
谢谢,
哈尔
答案 1 :(得分:0)
Lucene.NET将为您处理锁定,但是由于所有实例都将lockfile存储在temp-folder中,因此运行多个Applications可能会发生冲突锁定。
这是在Lucene 2.3或其他东西中修复的,默认情况下,他们开始将lockfile存储在basedir(所有索引文件所在的位置)中。
虽然,我认为在搜索或从另一个线程/进程写入时索引写入会抛出异常,因此最好相应地处理它(例如,为该实体排队更新)。