public virtual void TestMinShouldMatch() { BooleanQuery expected = new BooleanQuery(); expected.Add(new TermQuery(new Term("field", "one")), Occur.SHOULD); expected.Add(new TermQuery(new Term("field", "two")), Occur.SHOULD); expected.Add(new TermQuery(new Term("field", "three")), Occur.SHOULD); expected.Add(new TermQuery(new Term("field", "four")), Occur.SHOULD); expected.MinimumNumberShouldMatch = 0; QueryBuilder builder = new QueryBuilder(new MockAnalyzer(Random)); Assert.AreEqual(expected, builder.CreateMinShouldMatchQuery("field", "one two three four", 0.1f)); Assert.AreEqual(expected, builder.CreateMinShouldMatchQuery("field", "one two three four", 0.24f)); expected.MinimumNumberShouldMatch = 1; Assert.AreEqual(expected, builder.CreateMinShouldMatchQuery("field", "one two three four", 0.25f)); Assert.AreEqual(expected, builder.CreateMinShouldMatchQuery("field", "one two three four", 0.49f)); expected.MinimumNumberShouldMatch = 2; Assert.AreEqual(expected, builder.CreateMinShouldMatchQuery("field", "one two three four", 0.5f)); Assert.AreEqual(expected, builder.CreateMinShouldMatchQuery("field", "one two three four", 0.74f)); expected.MinimumNumberShouldMatch = 3; Assert.AreEqual(expected, builder.CreateMinShouldMatchQuery("field", "one two three four", 0.75f)); Assert.AreEqual(expected, builder.CreateMinShouldMatchQuery("field", "one two three four", 0.99f)); }
public virtual void TestMinShouldMatchAll() { QueryBuilder builder = new QueryBuilder(new MockAnalyzer(Random)); Assert.AreEqual(builder.CreateBooleanQuery("field", "one two three four", Occur.MUST), builder.CreateMinShouldMatchQuery("field", "one two three four", 1f)); }
public virtual void TestMinShouldMatchAll() { QueryBuilder builder = new QueryBuilder(new MockAnalyzer(Random())); Assert.AreEqual(builder.CreateBooleanQuery("field", "one two three four", BooleanClause.Occur.MUST), builder.CreateMinShouldMatchQuery("field", "one two three four", 1f)); }
public virtual void TestMinShouldMatchNone() { QueryBuilder builder = new QueryBuilder(new MockAnalyzer(Random())); Assert.AreEqual(builder.CreateBooleanQuery("field", "one two three four"), builder.CreateMinShouldMatchQuery("field", "one two three four", 0f)); }
public virtual void TestMinShouldMatch() { BooleanQuery expected = new BooleanQuery(); expected.Add(new TermQuery(new Term("field", "one")), BooleanClause.Occur.SHOULD); expected.Add(new TermQuery(new Term("field", "two")), BooleanClause.Occur.SHOULD); expected.Add(new TermQuery(new Term("field", "three")), BooleanClause.Occur.SHOULD); expected.Add(new TermQuery(new Term("field", "four")), BooleanClause.Occur.SHOULD); expected.MinimumNumberShouldMatch = 0; QueryBuilder builder = new QueryBuilder(new MockAnalyzer(Random())); Assert.AreEqual(expected, builder.CreateMinShouldMatchQuery("field", "one two three four", 0.1f)); Assert.AreEqual(expected, builder.CreateMinShouldMatchQuery("field", "one two three four", 0.24f)); expected.MinimumNumberShouldMatch = 1; Assert.AreEqual(expected, builder.CreateMinShouldMatchQuery("field", "one two three four", 0.25f)); Assert.AreEqual(expected, builder.CreateMinShouldMatchQuery("field", "one two three four", 0.49f)); expected.MinimumNumberShouldMatch = 2; Assert.AreEqual(expected, builder.CreateMinShouldMatchQuery("field", "one two three four", 0.5f)); Assert.AreEqual(expected, builder.CreateMinShouldMatchQuery("field", "one two three four", 0.74f)); expected.MinimumNumberShouldMatch = 3; Assert.AreEqual(expected, builder.CreateMinShouldMatchQuery("field", "one two three four", 0.75f)); Assert.AreEqual(expected, builder.CreateMinShouldMatchQuery("field", "one two three four", 0.99f)); }