public virtual void TestBoostOnlyRewrite()
{
Directory directory = NewDirectory();
RandomIndexWriter writer = new RandomIndexWriter(Random(), directory, Similarity, TimeZone);
AddDoc("Lucene", writer);
AddDoc("Lucene", writer);
AddDoc("Lucenne", writer);
IndexReader reader = writer.Reader;
IndexSearcher searcher = NewSearcher(reader);
writer.Dispose();
FuzzyQuery query = new FuzzyQuery(new Term("field", "lucene"));
query.SetRewriteMethod(new MultiTermQuery.TopTermsBoostOnlyBooleanQueryRewrite(50));
ScoreDoc[] hits = searcher.Search(query, null, 1000).ScoreDocs;
Assert.AreEqual(3, hits.Length);
// normally, 'Lucenne' would be the first result as IDF will skew the score.
Assert.AreEqual("Lucene", reader.Document(hits[0].Doc).Get("field"));
Assert.AreEqual("Lucene", reader.Document(hits[1].Doc).Get("field"));
Assert.AreEqual("Lucenne", reader.Document(hits[2].Doc).Get("field"));
reader.Dispose();
directory.Dispose();
}