private void CheckQuery(System.String queryStr)
{
// check result hit ranking
if (verbose)
System.Console.Out.WriteLine("Query: " + queryStr);
QueryParser queryParser = new QueryParser(Util.Version.LUCENE_CURRENT, FIELD_NAME, new StandardAnalyzer(Util.Version.LUCENE_CURRENT));
Query query = queryParser.Parse(queryStr);
ScoreDoc[] multiSearcherHits = multiSearcher.Search(query, null, 1000).ScoreDocs;
ScoreDoc[] singleSearcherHits = singleSearcher.Search(query, null, 1000).ScoreDocs;
Assert.AreEqual(multiSearcherHits.Length, singleSearcherHits.Length);
for (int i = 0; i < multiSearcherHits.Length; i++)
{
Document docMulti = multiSearcher.Doc(multiSearcherHits[i].Doc);
Document docSingle = singleSearcher.Doc(singleSearcherHits[i].Doc);
if (verbose)
System.Console.Out.WriteLine("Multi: " + docMulti.Get(FIELD_NAME) + " score=" + multiSearcherHits[i].Score);
if (verbose)
System.Console.Out.WriteLine("Single: " + docSingle.Get(FIELD_NAME) + " score=" + singleSearcherHits[i].Score);
Assert.AreEqual(multiSearcherHits[i].Score, singleSearcherHits[i].Score, 0.001f);
Assert.AreEqual(docMulti.Get(FIELD_NAME), docSingle.Get(FIELD_NAME));
}
if (verbose)
System.Console.Out.WriteLine();
}