Lucene.Net的Azure库 - FileNotFound异常

时间:2011-08-01 04:44:11

标签: azure lucene.net blobstorage

我正在使用Lucene.Net的Azure库,但是当我尝试附加到索引时,我遇到了FileNotFound Exceptions。

FSDirectory的一切都很好用。我有很多单元测试可以很好地对抗RAMDirectory。

以下是基础设施:

  1. 单一角色维护Index Writer Singleton。
  2. 单独的Web服务维护Searcher的单个实例,该实例以只读模式指向相同的索引。
  3. 当发生更改事件时,Index Writer Role会选择更改,修改索引并提交。
  4. 经过一段时间后,Searcher会回收以获取最新的指数变化。
  5. 例外:在更改之后,从那时起,我从AzureDirectory获取了一个FileNotFound异常。报告为未找到更改的文件,但一个示例是“_h.cfs”。当搜索者回收并尝试重新加载索引时,我也会在搜索者身上获得FileNotFound例外...

    结合其他重点:  1.完整索引的初始创建工作正常。  2.搜索最初创建的索引可以正常工作。  3.我正在使用Lucene .Net V. 2.9.2

    有什么想法或建议吗?不幸的是,这是我在发布项目之前需要解决的最后一个问题......

    谢谢, 添

1 个答案:

答案 0 :(得分:1)

我使用https://azuredirectory.codeplex.com/

遇到了同样的问题

我最终使用localresource(web / worker角色上的文件夹)从blobstorage加载整个索引,然后使用lucene.net中的内置索引编写器,并每隔几分钟将文件推送回blob存储,所以其他读者可以加载和搜索索引。

总体而言,AzureDirectory实现基本上只是一个玩具示例,需要更多工作才能在生产环境中有用。