public override void TestNewFieldQuery() { /** ordinary behavior, synonyms form uncoordinated boolean query */ QueryParser dumb = new QueryParser(TEST_VERSION_CURRENT, "field", new Analyzer1()); BooleanQuery expanded = new BooleanQuery(true); expanded.Add(new TermQuery(new Index.Term("field", "dogs")), Occur.SHOULD); expanded.Add(new TermQuery(new Index.Term("field", "dog")), Occur.SHOULD); assertEquals(expanded, dumb.Parse("\"dogs\"")); /** even with the phrase operator the behavior is the same */ assertEquals(expanded, dumb.Parse("dogs")); /** * custom behavior, the synonyms are expanded, unless you use quote operator */ QueryParser smart = new SmartQueryParser(); assertEquals(expanded, smart.Parse("dogs")); Query unexpanded = new TermQuery(new Index.Term("field", "dogs")); assertEquals(unexpanded, smart.Parse("\"dogs\"")); }
public override void TestNewFieldQuery() { /** ordinary behavior, synonyms form uncoordinated boolean query */ QueryParser dumb = new QueryParser(TEST_VERSION_CURRENT, "field", new Analyzer1()); BooleanQuery expanded = new BooleanQuery(true); expanded.Add(new TermQuery(new Index.Term("field", "dogs")), BooleanClause.Occur.SHOULD); expanded.Add(new TermQuery(new Index.Term("field", "dog")), BooleanClause.Occur.SHOULD); assertEquals(expanded, dumb.Parse("\"dogs\"")); /** even with the phrase operator the behavior is the same */ assertEquals(expanded, dumb.Parse("dogs")); /** * custom behavior, the synonyms are expanded, unless you use quote operator */ QueryParser smart = new SmartQueryParser(); assertEquals(expanded, smart.Parse("dogs")); Query unexpanded = new TermQuery(new Index.Term("field", "dogs")); assertEquals(unexpanded, smart.Parse("\"dogs\"")); }