internal virtual TopDocs SearchNode(int nodeID, long[] nodeVersions, Query q, Sort sort, int numHits, ScoreDoc searchAfter)
{
NodeState.ShardIndexSearcher s = Nodes[nodeID].Acquire(nodeVersions);
try
{
if (sort == null)
{
if (searchAfter != null)
{
return s.LocalSearchAfter(searchAfter, q, numHits);
}
else
{
return s.LocalSearch(q, numHits);
}
}
else
{
Debug.Assert(searchAfter == null); // not supported yet
return s.LocalSearch(q, numHits, sort);
}
}
finally
{
Nodes[nodeID].Release(s);
}
}