@Override protected QueryNode postProcessNode(final QueryNode node) throws QueryNodeException { if (node instanceof ProtectedQueryNode) { return node; } return super.postProcessNode(node); }
private QueryNode processIteration(QueryNode queryTree) throws QueryNodeException { queryTree = preProcessNode(queryTree); processChildren(queryTree); queryTree = postProcessNode(queryTree); return queryTree; }
public StandardQueryNodeProcessorPipeline(QueryConfigHandler queryConfig) { super(queryConfig); add(new WildcardQueryNodeProcessor()); add(new MultiFieldQueryNodeProcessor()); add(new FuzzyQueryNodeProcessor()); add(new MatchAllDocsQueryNodeProcessor()); add(new OpenRangeQueryNodeProcessor()); add(new NumericQueryNodeProcessor()); add(new NumericRangeQueryNodeProcessor()); add(new LowercaseExpandedTermsQueryNodeProcessor()); add(new TermRangeQueryNodeProcessor()); add(new AllowLeadingWildcardProcessor()); add(new AnalyzerQueryNodeProcessor()); add(new PhraseSlopQueryNodeProcessor()); //add(new GroupQueryNodeProcessor()); add(new BooleanQuery2ModifierNodeProcessor()); add(new NoChildOptimizationQueryNodeProcessor()); add(new RemoveDeletedQueryNodesProcessor()); add(new RemoveEmptyNonLeafQueryNodeProcessor()); add(new BooleanSingleChildOptimizationQueryNodeProcessor()); add(new DefaultPhraseSlopQueryNodeProcessor()); add(new BoostQueryNodeProcessor()); add(new MultiTermRewriteMethodProcessor()); }
public CustomQueryNodeProcessorPipeline(QueryConfigHandler configHandler) { super(configHandler); add(new CustomWildcardQueryNodeProcessor()); add(new MultiFieldQueryNodeProcessor()); add(new FuzzyQueryNodeProcessor()); add(new MatchAllDocsQueryNodeProcessor()); add(new TermRangeQueryNodeProcessor()); add(new AllowLeadingWildcardProcessor()); add(new CustomAnalyzerQueryNodeProcessor()); add(new NoChildOptimizationQueryNodeProcessor()); add(new RemoveDeletedQueryNodesProcessor()); add(new RemoveEmptyNonLeafQueryNodeProcessor()); add(new BooleanSingleChildOptimizationQueryNodeProcessor()); add(new DefaultPhraseSlopQueryNodeProcessor()); add(new MultiTermRewriteMethodProcessor()); add(new CustomFieldLimiterNodeProcessor()); } }
@Override public QueryNode process(QueryNode queryTree) throws QueryNodeException { Operator op = getQueryConfigHandler().get( ConfigurationKeys.DEFAULT_OPERATOR); if (op == null) { throw new IllegalArgumentException( "StandardQueryConfigHandler.ConfigurationKeys.DEFAULT_OPERATOR should be set on the QueryConfigHandler"); } this.usingAnd = StandardQueryConfigHandler.Operator.AND == op; return processIteration(queryTree); }
protected QueryNode preProcessNode(QueryNode node) throws QueryNodeException { QueryNode parent = node.getParent(); if (node instanceof BooleanQueryNode) { if (parent instanceof BooleanQueryNode) { node.setTag(TAG_REMOVE, Boolean.TRUE); // no precedence } else { node.setTag(TAG_BOOLEAN_ROOT, Boolean.TRUE); } } else if (parent instanceof BooleanQueryNode) { if ((parent instanceof AndQueryNode) || (usingAnd && isDefaultBooleanQueryNode(parent))) { tagModifierButDoNotOverride(node, ModifierQueryNode.Modifier.MOD_REQ); } } return node; }
protected void fillChildrenBufferAndApplyModifiery(QueryNode parent) { for (QueryNode node : parent.getChildren()) { if (node.containsTag(TAG_REMOVE)) { fillChildrenBufferAndApplyModifiery(node); } else if (node.containsTag(TAG_MODIFIER)) { childrenBuffer.add(applyModifier(node, (Modifier) node.getTag(TAG_MODIFIER))); } else { childrenBuffer.add(node); } } }
@Override public QueryNode process(QueryNode queryTree) throws QueryNodeException { Boolean allowsLeadingWildcard = getQueryConfigHandler().get(ConfigurationKeys.ALLOW_LEADING_WILDCARD); if (allowsLeadingWildcard != null) { if (!allowsLeadingWildcard) { return super.process(queryTree); } } return queryTree; }
@Override public QueryNode process(QueryNode queryTree) throws QueryNodeException { Boolean lowercaseExpandedTerms = getQueryConfigHandler().get(ConfigurationKeys.LOWERCASE_EXPANDED_TERMS); if (lowercaseExpandedTerms != null && lowercaseExpandedTerms) { return super.process(queryTree); } return queryTree; }
private void processNode(QueryNode node) { if (node instanceof AndQueryNode || node instanceof OrQueryNode) { if (!this.latestNodeVerified && !this.queryNodeList.isEmpty()) { this.queryNodeList.add(applyModifier(this.queryNodeList .remove(this.queryNodeList.size() - 1), node)); this.latestNodeVerified = true; } } else if (!(node instanceof BooleanQueryNode)) { this.queryNodeList.add(applyModifier(node, node.getParent())); this.latestNodeVerified = false; } }
protected void processChildren(QueryNode queryTree) throws QueryNodeException { List<QueryNode> children = queryTree.getChildren(); if (children != null && children.size() > 0) { for (QueryNode child : children) { child = processIteration(child); } } }
protected QueryNode postProcessNode(QueryNode node) throws QueryNodeException { if (node.containsTag(TAG_BOOLEAN_ROOT)) { this.childrenBuffer.clear(); fillChildrenBufferAndApplyModifiery(node); node.set(childrenBuffer); } return node; }
public StandardQueryNodeProcessorPipeline(QueryConfigHandler queryConfig) { super(queryConfig); add(new WildcardQueryNodeProcessor()); add(new MultiFieldQueryNodeProcessor()); add(new FuzzyQueryNodeProcessor()); add(new MatchAllDocsQueryNodeProcessor()); add(new OpenRangeQueryNodeProcessor()); add(new NumericQueryNodeProcessor()); add(new NumericRangeQueryNodeProcessor()); add(new LowercaseExpandedTermsQueryNodeProcessor()); add(new TermRangeQueryNodeProcessor()); add(new AllowLeadingWildcardProcessor()); add(new AnalyzerQueryNodeProcessor()); add(new PhraseSlopQueryNodeProcessor()); //add(new GroupQueryNodeProcessor()); add(new BooleanQuery2ModifierNodeProcessor()); add(new NoChildOptimizationQueryNodeProcessor()); add(new RemoveDeletedQueryNodesProcessor()); add(new RemoveEmptyNonLeafQueryNodeProcessor()); add(new BooleanSingleChildOptimizationQueryNodeProcessor()); add(new DefaultPhraseSlopQueryNodeProcessor()); add(new BoostQueryNodeProcessor()); add(new MultiTermRewriteMethodProcessor()); }
private QueryNode processIteration(QueryNode queryTree) throws QueryNodeException { queryTree = preProcessNode(queryTree); processChildren(queryTree); queryTree = postProcessNode(queryTree); return queryTree; }
@Override public QueryNode process(QueryNode queryTree) throws QueryNodeException { Operator op = getQueryConfigHandler().get( ConfigurationKeys.DEFAULT_OPERATOR); if (op == null) { throw new IllegalArgumentException( "StandardQueryConfigHandler.ConfigurationKeys.DEFAULT_OPERATOR should be set on the QueryConfigHandler"); } this.usingAnd = StandardQueryConfigHandler.Operator.AND == op; return processIteration(queryTree); }
@Override protected QueryNode postProcessNode(final QueryNode node) throws QueryNodeException { if (node instanceof ProtectedQueryNode) { return node; } return super.postProcessNode(node); }
@Override public QueryNode process(QueryNode queryTree) throws QueryNodeException { Boolean allowsLeadingWildcard = getQueryConfigHandler().get(ConfigurationKeys.ALLOW_LEADING_WILDCARD); if (allowsLeadingWildcard != null) { if (!allowsLeadingWildcard) { return super.process(queryTree); } } return queryTree; }
@Override public QueryNode process(QueryNode queryTree) throws QueryNodeException { Boolean lowercaseExpandedTerms = getQueryConfigHandler().get(ConfigurationKeys.LOWERCASE_EXPANDED_TERMS); if (lowercaseExpandedTerms != null && lowercaseExpandedTerms) { return super.process(queryTree); } return queryTree; }
private void processNode(QueryNode node) { if (node instanceof AndQueryNode || node instanceof OrQueryNode) { if (!this.latestNodeVerified && !this.queryNodeList.isEmpty()) { this.queryNodeList.add(applyModifier(this.queryNodeList .remove(this.queryNodeList.size() - 1), node)); this.latestNodeVerified = true; } } else if (!(node instanceof BooleanQueryNode)) { this.queryNodeList.add(applyModifier(node, node.getParent())); this.latestNodeVerified = false; } }
protected void processChildren(QueryNode queryTree) throws QueryNodeException { List<QueryNode> children = queryTree.getChildren(); if (children != null && children.size() > 0) { for (QueryNode child : children) { child = processIteration(child); } } }