internal virtual IDictionary<Term, TermStatistics> GetNodeTermStats(ISet<Term> terms, int nodeID, long version)
{
NodeState node = Nodes[nodeID];
IDictionary<Term, TermStatistics> stats = new Dictionary<Term, TermStatistics>();
IndexSearcher s = node.Searchers.Acquire(version);
if (s == null)
{
throw new SearcherExpiredException("node=" + nodeID + " version=" + version);
}
try
{
foreach (Term term in terms)
{
TermContext termContext = TermContext.Build(s.IndexReader.Context, term);
stats[term] = s.TermStatistics(term, termContext);
}
}
finally
{
node.Searchers.Release(s);
}
return stats;
}