public virtual void TestRewrite0() { SpanQuery q = new FieldMaskingSpanQuery(new SpanTermQuery(new Term("last", "sally")), "first"); q.SetBoost(8.7654321f); SpanQuery qr = (SpanQuery)searcher.Rewrite(q); QueryUtils.CheckEqual(q, qr); Assert.AreEqual(1, qr.GetTerms().Count); }
public override Weight CreateWeight(IndexSearcher searcher) { Weight baseWeight = baseQuery.CreateWeight(searcher); object[] drillDowns = new object[drillDownQueries.Length]; for (int dim = 0; dim < drillDownQueries.Length; dim++) { Query query = drillDownQueries[dim]; Filter filter = DrillDownQuery.GetFilter(query); if (filter != null) { drillDowns[dim] = filter; } else { // TODO: would be nice if we could say "we will do no // scoring" here.... drillDowns[dim] = searcher.Rewrite(query).CreateWeight(searcher); } } return new WeightAnonymousInnerClassHelper(this, baseWeight, drillDowns); }