2011-08-01 99 views
3

我正在與Lucene.Net的Azure圖書館,但我嘗試追加到索引時遇到FileNotFound異常。Azure庫爲Lucene.Net - FileNotFound異常

一切工作與FSDirectory很好。我有大量的單元測試對RAMDirectory很好用。

這裏的基礎設施:

  1. 單一角色保持指數作家辛格爾頓。
  2. 單獨的Web服務維護Searcher的單個實例,該實例指向只讀模式下的相同索引。
  3. 當發生更改事件時,索引編寫器角色將提取更改,修改索引並進行提交。
  4. 經過一段時間後,搜索者再次回收以獲取最新的指數變化。

例外:一旦變化,從那時起,我從一個AzureDirectory異常FileNotFound。該文件報告爲未找到更改,但一個示例是「_h.cfs」。當搜索回收,並嘗試重新加載我得到FileNotFound例外的搜索以及索引...

其他幾個要點: 1.全指數的初始創建工作正常。 2.根據最初創建的索引進行搜索可以正常工作。 3.我正在使用Lucene .Net V. 2.9.2

任何想法或建議?這是不幸的是,最後一個問題,我需要發佈該項目之前解決......

感謝, 添

+0

沒有答案。在此期間你有進步嗎?我即將使用相同的基礎設施,所以我非常好奇。 – wpfwannabe

+0

同樣 - 任何反饋將非常感激。 – iandayman

回答

1

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

我結束了使用localresource(文件夾相同的問題在你的web/worker角色上)加載整個索引到blobstorage或從blobstorage加載,然後使用lucene.net中的內置索引編寫器,並每隔幾分鐘將文件推回到blob存儲,以便其他讀者可以加載和搜索索引。

總的來說,AzureDirectory的實現基本上只是一個玩具的例子,需要更多的工作才能在生產環境中有用。