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); }
public virtual void AddFilterBuilder(string nodeName, IFilterBuilder builder) { filterFactory.AddBuilder(nodeName, builder); }