public virtual void TestVerifyIndex() { IndexReader reader = DirectoryReader.Open(MDirectory); Assert.AreEqual(8, reader.NumDocs); reader.Dispose(); }
public virtual void TestGetScores() { Directory directory = NewDirectory(); RandomIndexWriter writer = new RandomIndexWriter(Random(), directory, Similarity, TimeZone); writer.Commit(); IndexReader ir = writer.Reader; writer.Dispose(); IndexSearcher searcher = NewSearcher(ir); Weight fake = (new TermQuery(new Term("fake", "weight"))).CreateWeight(searcher); Scorer s = new SimpleScorer(fake); ScoreCachingCollector scc = new ScoreCachingCollector(Scores.Length); scc.Scorer = s; // We need to iterate on the scorer so that its doc() advances. int doc; while ((doc = s.NextDoc()) != DocIdSetIterator.NO_MORE_DOCS) { scc.Collect(doc); } for (int i = 0; i < Scores.Length; i++) { Assert.AreEqual(Scores[i], scc.Mscores[i], 0f); } ir.Dispose(); directory.Dispose(); }
public static void AfterClass() { Reader.Dispose(); Reader = null; Directory.Dispose(); Directory = null; }
public override void TearDown() { Reader.Dispose(); Dir.Dispose(); Dir = null; base.TearDown(); }
public virtual void TestGetScores() { Directory directory = NewDirectory(); RandomIndexWriter writer = new RandomIndexWriter( #if FEATURE_INSTANCE_TESTDATA_INITIALIZATION this, #endif Random, directory); writer.Commit(); IndexReader ir = writer.GetReader(); writer.Dispose(); IndexSearcher searcher = NewSearcher(ir); Weight fake = (new TermQuery(new Term("fake", "weight"))).CreateWeight(searcher); Scorer s = new SimpleScorer(fake); ScoreCachingCollector scc = new ScoreCachingCollector(Scores.Length); scc.SetScorer(s); // We need to iterate on the scorer so that its doc() advances. int doc; while ((doc = s.NextDoc()) != DocIdSetIterator.NO_MORE_DOCS) { scc.Collect(doc); } for (int i = 0; i < Scores.Length; i++) { Assert.AreEqual(Scores[i], scc.Mscores[i], 0f); } ir.Dispose(); directory.Dispose(); }
public override void AfterClass() { Reader.Dispose(); Reader = null; Directory.Dispose(); Directory = null; base.AfterClass(); }
public virtual void TestEarlyTermination_Mem() { int iters = AtLeast(5); IndexReader reader = Writer.GetReader(); for (int i = 0; i < iters; ++i) { IndexSearcher searcher = NewSearcher(reader); ICollector collector = new CollectorAnonymousInnerClassHelper(this); searcher.Search(new MatchAllDocsQuery(), collector); } reader.Dispose(); }
public virtual void TestNegativeScores() { // The Top*Collectors previously filtered out documents with <= scores. this // behavior has changed. this test checks that if PositiveOnlyScoresFilter // wraps one of these collectors, documents with <= 0 scores are indeed // filtered. int numPositiveScores = 0; for (int i = 0; i < Scores.Length; i++) { if (Scores[i] > 0) { ++numPositiveScores; } } Directory directory = NewDirectory(); RandomIndexWriter writer = new RandomIndexWriter( #if FEATURE_INSTANCE_TESTDATA_INITIALIZATION this, #endif Random, directory); writer.Commit(); IndexReader ir = writer.GetReader(); writer.Dispose(); IndexSearcher searcher = NewSearcher(ir); Weight fake = (new TermQuery(new Term("fake", "weight"))).CreateWeight(searcher); Scorer s = new SimpleScorer(fake); TopDocsCollector <ScoreDoc> tdc = TopScoreDocCollector.Create(Scores.Length, true); ICollector c = new PositiveScoresOnlyCollector(tdc); c.SetScorer(s); while (s.NextDoc() != DocIdSetIterator.NO_MORE_DOCS) { c.Collect(0); } TopDocs td = tdc.GetTopDocs(); ScoreDoc[] sd = td.ScoreDocs; Assert.AreEqual(numPositiveScores, td.TotalHits); for (int i = 0; i < sd.Length; i++) { Assert.IsTrue(sd[i].Score > 0, "only positive scores should return: " + sd[i].Score); } ir.Dispose(); directory.Dispose(); }
public virtual void TestOutOfOrderCollection() { Directory dir = NewDirectory(); RandomIndexWriter writer = new RandomIndexWriter( #if FEATURE_INSTANCE_TESTDATA_INITIALIZATION this, #endif Random, dir); for (int i = 0; i < 10; i++) { writer.AddDocument(new Document()); } bool[] inOrder = new bool[] { false, true }; string[] actualTSDCClass = new string[] { "OutOfOrderTopScoreDocCollector", "InOrderTopScoreDocCollector" }; BooleanQuery bq = new BooleanQuery(); // Add a Query with SHOULD, since bw.Scorer() returns BooleanScorer2 // which delegates to BS if there are no mandatory clauses. bq.Add(new MatchAllDocsQuery(), Occur.SHOULD); // Set minNrShouldMatch to 1 so that BQ will not optimize rewrite to return // the clause instead of BQ. bq.MinimumNumberShouldMatch = 1; IndexReader reader = writer.GetReader(); IndexSearcher searcher = NewSearcher(reader); for (int i = 0; i < inOrder.Length; i++) { TopDocsCollector <ScoreDoc> tdc = TopScoreDocCollector.Create(3, inOrder[i]); Assert.AreEqual("Lucene.Net.Search.TopScoreDocCollector+" + actualTSDCClass[i], tdc.GetType().FullName); searcher.Search(new MatchAllDocsQuery(), tdc); ScoreDoc[] sd = tdc.GetTopDocs().ScoreDocs; Assert.AreEqual(3, sd.Length); for (int j = 0; j < sd.Length; j++) { Assert.AreEqual(j, sd[j].Doc, "expected doc Id " + j + " found " + sd[j].Doc); } } writer.Dispose(); reader.Dispose(); dir.Dispose(); }
public override void TearDown() { Reader2.Dispose(); base.TearDown(); }
public override void TearDown() { Ir.Dispose(); Dir.Dispose(); base.TearDown(); }