protected void tagModifierButDoNotOverride(QueryNode node, Modifier mod) { if (node instanceof ModifierQueryNode) { ModifierQueryNode modNode = (ModifierQueryNode) node; if (modNode.getModifier() == Modifier.MOD_NONE) { node.setTag(TAG_MODIFIER, mod); } } else { node.setTag(TAG_MODIFIER, ModifierQueryNode.Modifier.MOD_REQ); } }
protected void tagModifierButDoNotOverride(QueryNode node, Modifier mod) { if (node instanceof ModifierQueryNode) { ModifierQueryNode modNode = (ModifierQueryNode) node; if (modNode.getModifier() == Modifier.MOD_NONE) { node.setTag(TAG_MODIFIER, mod); } } else { node.setTag(TAG_MODIFIER, ModifierQueryNode.Modifier.MOD_REQ); } }
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 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; }
@Override protected QueryNode postProcessNode(QueryNode node) { // set setMultiTermRewriteMethod for WildcardQueryNode and // PrefixWildcardQueryNode if (node instanceof WildcardQueryNode || node instanceof AbstractRangeQueryNode || node instanceof RegexpQueryNode) { MultiTermQuery.RewriteMethod rewriteMethod = getQueryConfigHandler().get(ConfigurationKeys.MULTI_TERM_REWRITE_METHOD); if (rewriteMethod == null) { // This should not happen, this configuration is set in the // StandardQueryConfigHandler throw new IllegalArgumentException( "StandardQueryConfigHandler.ConfigurationKeys.MULTI_TERM_REWRITE_METHOD should be set on the QueryConfigHandler"); } // use a TAG to take the value to the Builder node.setTag(MultiTermRewriteMethodProcessor.TAG_ID, rewriteMethod); } return node; }
@Override protected QueryNode postProcessNode(QueryNode node) { // set setMultiTermRewriteMethod for WildcardQueryNode and // PrefixWildcardQueryNode if (node instanceof WildcardQueryNode || node instanceof AbstractRangeQueryNode || node instanceof RegexpQueryNode) { MultiTermQuery.RewriteMethod rewriteMethod = getQueryConfigHandler().get(ConfigurationKeys.MULTI_TERM_REWRITE_METHOD); if (rewriteMethod == null) { // This should not happen, this configuration is set in the // StandardQueryConfigHandler throw new IllegalArgumentException( "StandardQueryConfigHandler.ConfigurationKeys.MULTI_TERM_REWRITE_METHOD should be set on the QueryConfigHandler"); } // use a TAG to take the value to the Builder node.setTag(MultiTermRewriteMethodProcessor.TAG_ID, rewriteMethod); } return node; }
@Override protected QueryNode postProcessNode(final QueryNode node) { // set setMultiTermRewriteMethod for WildcardQueryNode and // PrefixWildcardQueryNode if (node instanceof WildcardQueryNode || node instanceof AbstractRangeQueryNode || node instanceof RegexpQueryNode) { final MultiNodeTermQuery.RewriteMethod rewriteMethod = this.getQueryConfigHandler().get(KeywordConfigurationKeys.MULTI_NODE_TERM_REWRITE_METHOD); if (rewriteMethod == null) { // This should not happen, this configuration is set in the // StandardQueryConfigHandler throw new IllegalArgumentException( "KeywordConfigurationKeys.MULTI_NODE_TERM_REWRITE_METHOD should be set on the QueryConfigHandler"); } // use a TAG to take the value to the Builder node.setTag(MultiNodeTermRewriteMethodProcessor.TAG_ID, rewriteMethod); } return node; }
@Override protected QueryNode postProcessNode(final QueryNode node) { // set setMultiTermRewriteMethod for WildcardQueryNode and // PrefixWildcardQueryNode if (node instanceof WildcardQueryNode || node instanceof AbstractRangeQueryNode || node instanceof RegexpQueryNode) { final MultiNodeTermQuery.RewriteMethod rewriteMethod = this.getQueryConfigHandler().get(KeywordConfigurationKeys.MULTI_NODE_TERM_REWRITE_METHOD); if (rewriteMethod == null) { // This should not happen, this configuration is set in the // StandardQueryConfigHandler throw new IllegalArgumentException( "KeywordConfigurationKeys.MULTI_NODE_TERM_REWRITE_METHOD should be set on the QueryConfigHandler"); } // use a TAG to take the value to the Builder node.setTag(MultiNodeTermRewriteMethodProcessor.TAG_ID, rewriteMethod); } return node; }
@Override protected QueryNode preProcessNode(QueryNode node) throws QueryNodeException { final QueryConfigHandler conf = this.getQueryConfigHandler(); // If the current node is a span group query node, transfer its slop to its child if (node instanceof SpanGroupQueryNode) { SpanGroupQueryNode spanGroupQueryNode = (SpanGroupQueryNode) node; // transfer the slop to its child spanGroupQueryNode.getChild().setTag(SLOP_TAG, spanGroupQueryNode.getSlop()); // transfer the slop to its child spanGroupQueryNode.getChild().setTag(INORDER_TAG, spanGroupQueryNode.isInOrder()); } return node; }
childNode.setTag(ORIGINAL_SLOP, slopNode.getValue()); QueryNode newChildNode = preProcessNode(childNode); if (childNode != newChildNode) {
dt.getChild().setTag(DatatypeQueryNode.DATATYPE_TAGID, datatype); final TwigQueryNode twig = (TwigQueryNode) node; if (twig.getTag(DatatypeQueryNode.DATATYPE_TAGID) == null) { twig.getChild().setTag(DatatypeQueryNode.DATATYPE_TAGID, this.getDefaultDatatype(conf)); twig.getChild().setTag(DatatypeQueryNode.DATATYPE_TAGID, this.getDatatype(conf, node)); twig.getRoot().setTag(DatatypeQueryNode.DATATYPE_TAGID, JSONDatatype.JSON_FIELD); child.setTag(DatatypeQueryNode.DATATYPE_TAGID, this.getDatatype(conf, node));
private void processNode(QueryNode node, QueryBuilder builder) throws QueryNodeException { if (builder == null) { throw new QueryNodeException(new MessageImpl( QueryParserMessages.LUCENE_QUERY_CONVERSION_ERROR, node .toQueryString(new EscapeQuerySyntaxImpl()), node.getClass() .getName())); } Object obj = builder.build(node); if (obj != null) { node.setTag(QUERY_TREE_BUILDER_TAGID, obj); } }
private void processNode(QueryNode node, QueryBuilder builder) throws QueryNodeException { if (builder == null) { throw new QueryNodeException(new MessageImpl( QueryParserMessages.LUCENE_QUERY_CONVERSION_ERROR, node .toQueryString(new EscapeQuerySyntaxImpl()), node.getClass() .getName())); } Object obj = builder.build(node); if (obj != null) { node.setTag(QUERY_TREE_BUILDER_TAGID, obj); } }
@Override protected QueryNode preProcessNode(QueryNode node) throws QueryNodeException { // If the current node is a group query node, check the query type and assign it to its children if (node instanceof GroupQueryNode) { GroupQueryNode groupQueryNode = (GroupQueryNode) node; String queryType = null; if (node instanceof NodeGroupQueryNode) { queryType = NODE_QUERYTYPE; } else if (node instanceof SpanGroupQueryNode) { queryType = SPAN_QUERYTYPE; } else { throw new QueryNodeException(new MessageImpl("Invalid GroupQueryNode received", node.toQueryString(new EscapeQuerySyntaxImpl()))); } // transfer the query type to its child groupQueryNode.getChild().setTag(QUERYTYPE_TAG, queryType); } // in any other cases, if the node is not a leaf node, transfer the query type to its children else if (!node.isLeaf()) { if (node.getTag(QUERYTYPE_TAG) != null) { for (final QueryNode child : node.getChildren()) { child.setTag(QUERYTYPE_TAG, node.getTag(QUERYTYPE_TAG)); } } } return node; }
node.setTag(DatatypeQueryNode.DATATYPE_TAGID, datatype);
node.setTag(DatatypeQueryNode.DATATYPE_TAGID, datatype);