我刚刚开始使用Lucene.NET的Azure库(
http://code.msdn.microsoft.com/AzureDirectory).到目前为止,我使用自己的自定义代码在azure blob上编写lucene索引.因此,我将blob复制到azure web / worker角色的本地存储以及读取/写入文档到索引.我正在使用我的自定义锁定机制来确保我们在blob的读取和写入之间没有冲突.我希望Azure Library会为我解决这些问题.
但是,在尝试测试应用程序时,我调整了代码以使用复合文件选项,并且每次写入索引时都会创建一个新文件.现在,我的问题是,如果我必须维护索引 – 即保留索引文件的快照并在主索引损坏时使用它,那么我该怎么做呢.我应该保留所有创建的.cfs文件的备份,还是只处理最新的文件.是否有api调用清理blob以在每次写入索引后保留最新文件?
谢谢
卡皮尔
最佳答案 在我回答这个问题之后,我们最终改变了我们的搜索基础设施并使用了
Windows Azure Drive.我们有一个工作者角色,它将使用块存储装载VHD,并在其上托管Lucene.NET索引.检查代码以确保首先安装VHD并且索引目录已存在.如果工作人员角色崩溃,VHD将在60秒后自动卸载,第二个工作人员角色可以将其取消.
我们已经改变了我们的基础设施,并转而使用Solr实例进行搜索,但VHD选项在开发期间运行良好.它本可以在测试和生产中运作良好,但需求意味着我们需要转向EC2.