复制Lucene索引时出错

时间:2009-07-18 03:02:30

标签: lucene.net lucene

我有一个使用Lucene API进行搜索的asp.net Web应用程序。 以下是问题场景:

活动:

  1. 用户通过Web应用程序调用Lucene搜索查询。
  2. 还有另一个Windows服务正在运行,它只是将搜索索引文件夹复制到另一个文件夹。
  3. 在事件1发生后发生事件2时,我在复制索引时收到以下错误:

    The process cannot access the file 'C:\Indexes\segments.gen'
    because it is being used by another process.
    

    我在这里缺少什么?

    仅供参考,我正在使用System.IO.File.Copy将overwrite设置为true来复制索引文件。

2 个答案:

答案 0 :(得分:1)

问题是因为第一个事件锁定了Lucine文件,您可以创建相同索引的2个副本,并同步您的进程以防止彼此

答案 1 :(得分:0)

我在这里描述了如何在ASP.NET应用程序中使用Lucene.NET:
http://ifdefined.com/blog/post/Full-Text-Search-in-ASPNET-using-LuceneNET.aspx

我的代码可能不适合高容量网站,但对于低容量,它似乎解决了你遇到的问题。