//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes: //ORIGINAL LINE: @Test public void shouldDetectLargeAmountsOfCollisions() public virtual void ShouldDetectLargeAmountsOfCollisions() { // GIVEN IdMapper mapper = mapper(new StringEncoder(), Radix.String, NO_MONITOR); int count = 20_000; IList <object> ids = new List <object>(); long id = 0; // Generate and add all input ids for (int elements = 0; elements < count; elements++) { string inputId = System.Guid.randomUUID().ToString(); for (int i = 0; i < 2; i++) { ids.Add(inputId); mapper.Put(inputId, id++, GLOBAL); } } // WHEN CountingCollector collector = new CountingCollector(); mapper.Prepare(Values(ids.ToArray()), collector, NONE); // THEN assertEquals(count, collector.Count); }
public virtual void TestBooleanQuery() { TermQuery aQuery = new TermQuery(new Term("f", "a")); TermQuery dQuery = new TermQuery(new Term("f", "d")); TermQuery cQuery = new TermQuery(new Term("f", "c")); TermQuery yQuery = new TermQuery(new Term("f", "y")); BooleanQuery query = new BooleanQuery(); BooleanQuery inner = new BooleanQuery(); inner.Add(cQuery, Occur.SHOULD); inner.Add(yQuery, Occur.MUST_NOT); query.Add(inner, Occur.MUST); query.Add(aQuery, Occur.MUST); query.Add(dQuery, Occur.MUST); // Only needed in Java6; Java7+ has a @SafeVarargs annotated Arrays#asList()! // see http://docs.oracle.com/javase/7/docs/api/java/lang/SafeVarargs.html IEnumerable <ISet <string> > occurList = new ISet <string>[] { new JCG.HashSet <string> { "MUST" }, new JCG.HashSet <string> { "MUST", "SHOULD" } }; foreach (var occur in occurList) { var c = new CountingCollector(TopScoreDocCollector.Create(10, true), occur); s.Search(query, null, c); int maxDocs = s.IndexReader.MaxDoc; Assert.AreEqual(maxDocs, c.DocCounts.Count); bool includeOptional = occur.Contains("SHOULD"); for (int i = 0; i < maxDocs; i++) { IDictionary <Query, float?> doc0 = c.DocCounts[i]; Assert.AreEqual(includeOptional ? 5 : 4, doc0.Count); Assert.AreEqual(1.0F, doc0[aQuery].GetValueOrDefault(), FLOAT_TOLERANCE); Assert.AreEqual(4.0F, doc0[dQuery].GetValueOrDefault(), FLOAT_TOLERANCE); if (includeOptional) { Assert.AreEqual(3.0F, doc0[cQuery].GetValueOrDefault(), FLOAT_TOLERANCE); } IDictionary <Query, float?> doc1 = c.DocCounts[++i]; Assert.AreEqual(includeOptional ? 5 : 4, doc1.Count); Assert.AreEqual(1.0F, doc1[aQuery].GetValueOrDefault(), FLOAT_TOLERANCE); Assert.AreEqual(1.0F, doc1[dQuery].GetValueOrDefault(), FLOAT_TOLERANCE); if (includeOptional) { Assert.AreEqual(1.0F, doc1[cQuery].GetValueOrDefault(), FLOAT_TOLERANCE); } } } }
public virtual void TestTermQuery() { TermQuery q = new TermQuery(new Term("f", "d")); CountingCollector c = new CountingCollector(TopScoreDocCollector.Create(10, true)); s.Search(q, null, c); int maxDocs = s.IndexReader.MaxDoc; Assert.AreEqual(maxDocs, c.DocCounts.Count); for (int i = 0; i < maxDocs; i++) { IDictionary <Query, float?> doc0 = c.DocCounts[i]; Assert.AreEqual(1, doc0.Count); Assert.AreEqual(4.0F, doc0[q], FLOAT_TOLERANCE); IDictionary <Query, float?> doc1 = c.DocCounts[++i]; Assert.AreEqual(1, doc1.Count); Assert.AreEqual(1.0F, doc1[q], FLOAT_TOLERANCE); } }
public static void Main(System.String[] args) { if (args.Length != 2) { System.Console.Out.WriteLine(typeof(SynLookup) + " <index path> <word>"); return; } using (var directory = FSDirectory.Open(new DirectoryInfo(args[0]))) { using (var searcher = new IndexSearcher(directory, true)) { String word = args[1]; Query query = new TermQuery(new Term(Syns2Index.F_WORD, word)); var countingCollector = new CountingCollector(); searcher.Search(query, countingCollector); if (countingCollector.numHits == 0) { Console.Out.WriteLine("No synonyms found for " + word); } else { Console.Out.WriteLine("Synonyms found for \"" + word + "\":"); } var hits = searcher.Search(query, countingCollector.numHits).ScoreDocs; foreach (var v in hits.Select(t => searcher.Doc(t.Doc)).Select(doc => doc.GetValues(Syns2Index.F_SYN)).SelectMany(values => values)) { Console.Out.WriteLine(v); } } } }
public virtual void TestBooleanQuery() { TermQuery aQuery = new TermQuery(new Term("f", "a")); TermQuery dQuery = new TermQuery(new Term("f", "d")); TermQuery cQuery = new TermQuery(new Term("f", "c")); TermQuery yQuery = new TermQuery(new Term("f", "y")); BooleanQuery query = new BooleanQuery(); BooleanQuery inner = new BooleanQuery(); inner.Add(cQuery, Occur.SHOULD); inner.Add(yQuery, Occur.MUST_NOT); query.Add(inner, Occur.MUST); query.Add(aQuery, Occur.MUST); query.Add(dQuery, Occur.MUST); // Only needed in Java6; Java7+ has a @SafeVarargs annotated Arrays#asList()! // see http://docs.oracle.com/javase/7/docs/api/java/lang/SafeVarargs.html IEnumerable<ISet<string>> occurList = Arrays.AsList(Collections.Singleton("MUST"), new HashSet<string>(Arrays.AsList("MUST", "SHOULD"))); foreach (var occur in occurList) { var c = new CountingCollector(TopScoreDocCollector.Create(10, true), occur); s.Search(query, null, c); int maxDocs = s.IndexReader.MaxDoc; Assert.AreEqual(maxDocs, c.DocCounts.Count); bool includeOptional = occur.Contains("SHOULD"); for (int i = 0; i < maxDocs; i++) { IDictionary<Query, float?> doc0 = c.DocCounts[i]; Assert.AreEqual(includeOptional ? 5 : 4, doc0.Count); Assert.AreEqual(1.0F, doc0[aQuery], FLOAT_TOLERANCE); Assert.AreEqual(4.0F, doc0[dQuery], FLOAT_TOLERANCE); if (includeOptional) { Assert.AreEqual(3.0F, doc0[cQuery], FLOAT_TOLERANCE); } IDictionary<Query, float?> doc1 = c.DocCounts[++i]; Assert.AreEqual(includeOptional ? 5 : 4, doc1.Count); Assert.AreEqual(1.0F, doc1[aQuery], FLOAT_TOLERANCE); Assert.AreEqual(1.0F, doc1[dQuery], FLOAT_TOLERANCE); if (includeOptional) { Assert.AreEqual(1.0F, doc1[cQuery], FLOAT_TOLERANCE); } } } }
public virtual void TestTermQuery() { TermQuery q = new TermQuery(new Term("f", "d")); CountingCollector c = new CountingCollector(TopScoreDocCollector.Create(10, true)); s.Search(q, null, c); int maxDocs = s.IndexReader.MaxDoc; Assert.AreEqual(maxDocs, c.DocCounts.Count); for (int i = 0; i < maxDocs; i++) { IDictionary<Query, float?> doc0 = c.DocCounts[i]; Assert.AreEqual(1, doc0.Count); Assert.AreEqual(4.0F, doc0[q], FLOAT_TOLERANCE); IDictionary<Query, float?> doc1 = c.DocCounts[++i]; Assert.AreEqual(1, doc1.Count); Assert.AreEqual(1.0F, doc1[q], FLOAT_TOLERANCE); } }