Lucene.Net 的 Azure 库 - FileNotFound 异常

标签 azure lucene.net blobstorage

我正在使用适用于 Lucene.Net 的 Azure 库,但当我尝试附加到索引时遇到 FileNotFound 异常。

使用 FSDirectory 一切都很好。我有大量针对 RAMDirectory 的单元测试,效果非常好。

这是基础设施:

  1. 单一角色维护索引写入器单例。
  2. 单独的网络服务维护单个搜索器实例,该实例以只读模式指向同一索引。
  3. 当发生更改事件时,索引写入者角色会获取更改、修改索引并提交。
  4. 在一段时间后,搜索器会回收以获取最新的索引更改。

异常:更改后,从那时起,我从 AzureDirectory 收到 FileNotFound 异常。该文件报告为未发现更改,但一个示例是“_h.cfs”。当搜索器回收并尝试重新加载索引时,我也会在搜索器上收到 FileNotFound 异常...

其他重要点: 1. 完整索引的初始创建工作正常。 2. 根据最初创建的索引进行搜索效果很好。 3.我使用的是Lucene .Net V.2.9.2

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

谢谢, 蒂姆

最佳答案

我使用 https://azuredirectory.codeplex.com/ 遇到了同样的问题

我最终使用本地资源(Web/辅助角色上的文件夹)将整个索引加载到 Blob 存储中或从 Blob 存储中加载,然后使用 lucene.net 中的内置索引编写器,每隔几分钟将文件推送回 Blob 存储,以便其他读者可以加载和搜索索引。

总的来说,AzureDirectory 实现基本上只是一个玩具示例,需要更多的工作才能在生产环境中发挥作用。

关于Lucene.Net 的 Azure 库 - FileNotFound 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6894290/

相关文章:

azure - 我应该使用什么 azure 后台进程?

powershell - Azure 应用服务 ApiApp

asp.net - 搜索引擎 - Lucene 或 Solr

Lucene.net 的 Azure 库错误。创建 write.lock 后找不到文件

Azure Blob 存储 : Unable to upload the blob with size 0

azure - 使用 OAuth 2 端点将 Windows Azure AD 租户添加为身份提供者

azure - 目录从 azure cloud shell (home) 中消失

asp.net - 为 ASP.NET MVC 应用程序实现全文搜索的最佳方法是什么?

azure - 如何使用 SharedAccessSignature 访问 blob

azure - 使用 UploadText 在 Azure Blob 存储中创建文件