public virtual void TestScoring()
{
// verify that drill-down queries do not modify scores
IndexSearcher searcher = NewSearcher(reader);
float[] scores = new float[reader.MaxDoc];
Query q = new TermQuery(new Term("content", "foo"));
TopDocs docs = searcher.Search(q, reader.MaxDoc); // fetch all available docs to this query
foreach (ScoreDoc sd in docs.ScoreDocs)
{
scores[sd.Doc] = sd.Score;
}
// create a drill-down query with category "a", scores should not change
DrillDownQuery q2 = new DrillDownQuery(config, q);
q2.Add("a");
docs = searcher.Search(q2, reader.MaxDoc); // fetch all available docs to this query
foreach (ScoreDoc sd in docs.ScoreDocs)
{
Assert.AreEqual(scores[sd.Doc], sd.Score, 0f, "score of doc=" + sd.Doc + " modified");
}
}