我設立了承載Lucene.Net/AzureDirectory搜索引擎的一個WCF Web服務一個單獨的對象。我如何重新初始化在某個區間
對於速度的目的,使用AzureDirectory
推薦的方法是有一個所有服務調用中使用的單IndexSearcher
實例。這是我必須做的是:
由於該對象緩存正在搜索索引我需要重新初始化該對象上的間隔異步從任何客戶端調用...比如每分鐘左右。於是,我就在安裝在我的蔚藍的實例,這是否另一個線程運行的進程......
LuceneHelper.initSearcher();
while (true)
{
Thread.Sleep(60000);
LuceneHelper.initSearcher();
}
我可以從我的測試告訴他們倆都工作,但相互獨立的。所以我猜在我的web服務中有一個IndexSearcher,而在我的工作線程中有一個。
我的問題:有沒有辦法在我的web服務運行我的無限「而」聲明異步或任何其他方式重新初始化一個對象而從客戶的電話?
爲什麼你需要在一段時間內重新打開IndexSearcher?它看起來像你想接近實時的使用Lucene,http://blog.mikemccandless.com/2011/06/lucenes-near-real-time-search-is-fast.html –
搜索通過預先初始化IndexSearcher的它緩存該索引是什麼讓Lucene.Net儘快變成現實。我需要重新打開它的原因是刷新緩存。 – Paul