【问题标题】:NHibernate Search and Lucene ExceptionNHibernate 搜索和 Lucene 异常
【发布时间】:2012-02-16 01:30:37
【问题描述】:

当一个应用程序独占使用 Lucene 索引时收到错误消息。

未处理的异常:NHibernate.Search.Impl.SearchException:无法为 我的命名空间打开 IndexWriter ---> Lucene.Net.Store.LockObtainFailedException:锁定获取超时:SimpleFSLock My索引路径\write.lock

如果你们之前遇到过同样的问题,我只是在徘徊?

【问题讨论】:

    标签: lucene.net nhibernate-search


    【解决方案1】:

    您可能在打开 IndexWriter 时崩溃了,并且 write.lock 文件留在了索引目录中。 SimpleFSLockFactory 使用此文件来确保在任何给定时间针对文件系统索引打开单个 IndexWriter。

    进入你的 index 目录,如果 NHibernate 没有自动处理它,删除 write.lock 文件。

    【讨论】:

    • 看到异常的时候,在index目录下根本找不到write.lock。
    • 那么我猜 NHibernate 可能会通过在遇到异常时解锁目录来自行处理它。让 Nhibernate 专家确认这一点会很棒。
    • 我的经验是它不会自动删除它。我猜你尝试从多个线程并行索引,这是不允许的。
    猜你喜欢
    • 1970-01-01
    • 2023-03-09
    • 1970-01-01
    • 2011-03-09
    • 2016-03-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多