List of usage examples for org.apache.lucene.queryparser.flexible.standard.nodes BooleanModifierNode BooleanModifierNode
public BooleanModifierNode(QueryNode node, Modifier mod)
From source file:com.sindicetech.siren.qparser.keyword.processors.GroupQueryNodeProcessor.java
License:Open Source License
/** *///from w w w.java2 s. c o m private QueryNode applyModifier(final QueryNode node, final QueryNode parent) { // if the default operator is AND if (this.usingAnd) { // if the parent is a or operator if (parent instanceof OrQueryNode) { // remove the modifier if (node instanceof ModifierQueryNode) { final ModifierQueryNode modNode = (ModifierQueryNode) node; if (modNode.getModifier() == Modifier.MOD_REQ) { return modNode.getChild(); } } // at this stage, the node does not have modifier, which means it is an SHOULD clause } // in any other case, add the MOD_REQ modifier as default else { if (node instanceof ModifierQueryNode) { final ModifierQueryNode modNode = (ModifierQueryNode) node; if (modNode.getModifier() == Modifier.MOD_NONE) { return new BooleanModifierNode(modNode.getChild(), Modifier.MOD_REQ); } } else { return new BooleanModifierNode(node, Modifier.MOD_REQ); } } } // if the default operator is OR else { // if the parent operator is AND if (parent instanceof AndQueryNode) { // add the MOD_REQ modifier if (node instanceof ModifierQueryNode) { final ModifierQueryNode modNode = (ModifierQueryNode) node; if (modNode.getModifier() == Modifier.MOD_NONE) { return new BooleanModifierNode(modNode.getChild(), Modifier.MOD_REQ); } } else { return new BooleanModifierNode(node, Modifier.MOD_REQ); } } } return node; }
From source file:org.sindice.siren.qparser.keyword.processors.GroupQueryNodeProcessor.java
License:Apache License
/** *//*www .jav a 2 s . c om*/ private QueryNode applyModifier(final QueryNode node, final QueryNode parent) { if (this.usingAnd) { if (parent instanceof OrQueryNode) { if (node instanceof ModifierQueryNode) { final ModifierQueryNode modNode = (ModifierQueryNode) node; if (modNode.getModifier() == Modifier.MOD_REQ) { return modNode.getChild(); } } } else { if (node instanceof ModifierQueryNode) { final ModifierQueryNode modNode = (ModifierQueryNode) node; if (modNode.getModifier() == Modifier.MOD_NONE) { return new BooleanModifierNode(modNode.getChild(), Modifier.MOD_REQ); } } else { return new BooleanModifierNode(node, Modifier.MOD_REQ); } } } else { if (parent instanceof AndQueryNode) { if (node instanceof ModifierQueryNode) { final ModifierQueryNode modNode = (ModifierQueryNode) node; if (modNode.getModifier() == Modifier.MOD_NONE) { return new BooleanModifierNode(modNode.getChild(), Modifier.MOD_REQ); } } else { return new BooleanModifierNode(node, Modifier.MOD_REQ); } } } return node; }