В одном из моих WCF
решений пользователь может выполнять поиск по индексу Lucene.Я ищу информацию о подходе.
Могу ли я улучшить этот код лучше?
public class ViewData
{
public static IndexReader indexReader
{
get
{
return IndexReader.Open(FSDirectory.Open("path"), true);
}
private set { indexReader = value; }
}
public static IndexSearcher indexSearcher { get; set; }
}
Чтобы потреблять
using (indexSearcher = new IndexSearcher(indexReader))
{
// run the search etc
}
Это означает IndexReader
никогда не закрывается, когда поисковик открывается таким образом.
Но если я поступлю так, как показано ниже.
using (indexReader)
using (indexSearcher = new IndexSearcher(indexReader))
{
// run the search etc
}
Но это значит, что считыватель всегда закрыт и вновь открыт?Могу ли я пропустить using(indexReader)
и оставить его открытым (разве это не плохая практика, поскольку IndexReader
- это Disposable
)?