protected CoreParser(string defaultField, Analyzer analyzer, QueryParser parser) { this.m_analyzer = analyzer; this.m_parser = parser; m_filterFactory = new FilterBuilderFactory(); m_filterFactory.AddBuilder("RangeFilter", new RangeFilterBuilder()); m_filterFactory.AddBuilder("NumericRangeFilter", new NumericRangeFilterBuilder()); m_queryFactory = new QueryBuilderFactory(); m_queryFactory.AddBuilder("TermQuery", new TermQueryBuilder()); m_queryFactory.AddBuilder("TermsQuery", new TermsQueryBuilder(analyzer)); m_queryFactory.AddBuilder("MatchAllDocsQuery", new MatchAllDocsQueryBuilder()); m_queryFactory.AddBuilder("BooleanQuery", new BooleanQueryBuilder(m_queryFactory)); m_queryFactory.AddBuilder("NumericRangeQuery", new NumericRangeQueryBuilder()); m_queryFactory.AddBuilder("DisjunctionMaxQuery", new DisjunctionMaxQueryBuilder(m_queryFactory)); if (parser != null) { m_queryFactory.AddBuilder("UserQuery", new UserInputQueryBuilder(parser)); } else { m_queryFactory.AddBuilder("UserQuery", new UserInputQueryBuilder(defaultField, analyzer)); } m_queryFactory.AddBuilder("FilteredQuery", new FilteredQueryBuilder(m_filterFactory, m_queryFactory)); m_queryFactory.AddBuilder("ConstantScoreQuery", new ConstantScoreQueryBuilder(m_filterFactory)); m_filterFactory.AddBuilder("CachedFilter", new CachedFilterBuilder(m_queryFactory, m_filterFactory, maxNumCachedFilters)); SpanQueryBuilderFactory sqof = new SpanQueryBuilderFactory(); SpanNearBuilder snb = new SpanNearBuilder(sqof); sqof.AddBuilder("SpanNear", snb); m_queryFactory.AddBuilder("SpanNear", snb); BoostingTermBuilder btb = new BoostingTermBuilder(); sqof.AddBuilder("BoostingTermQuery", btb); m_queryFactory.AddBuilder("BoostingTermQuery", btb); SpanTermBuilder snt = new SpanTermBuilder(); sqof.AddBuilder("SpanTerm", snt); m_queryFactory.AddBuilder("SpanTerm", snt); SpanOrBuilder sot = new SpanOrBuilder(sqof); sqof.AddBuilder("SpanOr", sot); m_queryFactory.AddBuilder("SpanOr", sot); SpanOrTermsBuilder sots = new SpanOrTermsBuilder(analyzer); sqof.AddBuilder("SpanOrTerms", sots); m_queryFactory.AddBuilder("SpanOrTerms", sots); SpanFirstBuilder sft = new SpanFirstBuilder(sqof); sqof.AddBuilder("SpanFirst", sft); m_queryFactory.AddBuilder("SpanFirst", sft); SpanNotBuilder snot = new SpanNotBuilder(sqof); sqof.AddBuilder("SpanNot", snot); m_queryFactory.AddBuilder("SpanNot", snot); }
protected CoreParser(string defaultField, Analyzer analyzer, QueryParser parser) { this.analyzer = analyzer; this.parser = parser; filterFactory = new FilterBuilderFactory(); filterFactory.AddBuilder("RangeFilter", new RangeFilterBuilder()); filterFactory.AddBuilder("NumericRangeFilter", new NumericRangeFilterBuilder()); queryFactory = new QueryBuilderFactory(); queryFactory.AddBuilder("TermQuery", new TermQueryBuilder()); queryFactory.AddBuilder("TermsQuery", new TermsQueryBuilder(analyzer)); queryFactory.AddBuilder("MatchAllDocsQuery", new MatchAllDocsQueryBuilder()); queryFactory.AddBuilder("BooleanQuery", new BooleanQueryBuilder(queryFactory)); queryFactory.AddBuilder("NumericRangeQuery", new NumericRangeQueryBuilder()); queryFactory.AddBuilder("DisjunctionMaxQuery", new DisjunctionMaxQueryBuilder(queryFactory)); if (parser != null) { queryFactory.AddBuilder("UserQuery", new UserInputQueryBuilder(parser)); } else { queryFactory.AddBuilder("UserQuery", new UserInputQueryBuilder(defaultField, analyzer)); } queryFactory.AddBuilder("FilteredQuery", new FilteredQueryBuilder(filterFactory, queryFactory)); queryFactory.AddBuilder("ConstantScoreQuery", new ConstantScoreQueryBuilder(filterFactory)); filterFactory.AddBuilder("CachedFilter", new CachedFilterBuilder(queryFactory, filterFactory, maxNumCachedFilters)); SpanQueryBuilderFactory sqof = new SpanQueryBuilderFactory(); SpanNearBuilder snb = new SpanNearBuilder(sqof); sqof.AddBuilder("SpanNear", snb); queryFactory.AddBuilder("SpanNear", snb); BoostingTermBuilder btb = new BoostingTermBuilder(); sqof.AddBuilder("BoostingTermQuery", btb); queryFactory.AddBuilder("BoostingTermQuery", btb); SpanTermBuilder snt = new SpanTermBuilder(); sqof.AddBuilder("SpanTerm", snt); queryFactory.AddBuilder("SpanTerm", snt); SpanOrBuilder sot = new SpanOrBuilder(sqof); sqof.AddBuilder("SpanOr", sot); queryFactory.AddBuilder("SpanOr", sot); SpanOrTermsBuilder sots = new SpanOrTermsBuilder(analyzer); sqof.AddBuilder("SpanOrTerms", sots); queryFactory.AddBuilder("SpanOrTerms", sots); SpanFirstBuilder sft = new SpanFirstBuilder(sqof); sqof.AddBuilder("SpanFirst", sft); queryFactory.AddBuilder("SpanFirst", sft); SpanNotBuilder snot = new SpanNotBuilder(sqof); sqof.AddBuilder("SpanNot", snot); queryFactory.AddBuilder("SpanNot", snot); }