@Override public CharSequence toQueryString(EscapeQuerySyntax escapeSyntaxParser) { String anySTR = "ANY " + this.minimumMatchingmElements; StringBuilder sb = new StringBuilder(); if (getChildren() == null || getChildren().size() == 0) { // no childs case } else { String filler = ""; for (QueryNode clause : getChildren()) { sb.append(filler).append(clause.toQueryString(escapeSyntaxParser)); filler = " "; } } if (isDefaultField(this.field)) { return "( " + sb.toString() + " ) " + anySTR; } else { return this.field + ":(( " + sb.toString() + " ) " + anySTR + ")"; } }
public BooleanQuery build(QueryNode queryNode) throws QueryNodeException { AnyQueryNode andNode = (AnyQueryNode) queryNode; BooleanQuery bQuery = new BooleanQuery(); List<QueryNode> children = andNode.getChildren(); if (children != null) { for (QueryNode child : children) { Object obj = child.getTag(QueryTreeBuilder.QUERY_TREE_BUILDER_TAGID); if (obj != null) { Query query = (Query) obj; try { bQuery.add(query, BooleanClause.Occur.SHOULD); } catch (TooManyClauses ex) { throw new QueryNodeException(new MessageImpl( /* * IQQQ.Q0028E_TOO_MANY_BOOLEAN_CLAUSES, * BooleanQuery.getMaxClauseCount() */ QueryParserMessages.EMPTY_MESSAGE), ex); } } } } bQuery.setMinimumNumberShouldMatch(andNode.getMinimumMatchingElements()); return bQuery; }
@Override public String toString() { if (getChildren() == null || getChildren().size() == 0) return "<any field='" + this.field + "' matchelements=" + this.minimumMatchingmElements + "/>"; StringBuilder sb = new StringBuilder(); sb.append("<any field='" + this.field + "' matchelements=" + this.minimumMatchingmElements + ">"); for (QueryNode clause : getChildren()) { sb.append("\n"); sb.append(clause.toString()); } sb.append("\n</any>"); return sb.toString(); }
public BooleanQuery build(QueryNode queryNode) throws QueryNodeException { AnyQueryNode andNode = (AnyQueryNode) queryNode; BooleanQuery bQuery = new BooleanQuery(); List<QueryNode> children = andNode.getChildren(); if (children != null) { for (QueryNode child : children) { Object obj = child.getTag(QueryTreeBuilder.QUERY_TREE_BUILDER_TAGID); if (obj != null) { Query query = (Query) obj; try { bQuery.add(query, BooleanClause.Occur.SHOULD); } catch (TooManyClauses ex) { throw new QueryNodeException(new MessageImpl( /* * IQQQ.Q0028E_TOO_MANY_BOOLEAN_CLAUSES, * BooleanQuery.getMaxClauseCount() */ QueryParserMessages.EMPTY_MESSAGE), ex); } } } } bQuery.setMinimumNumberShouldMatch(andNode.getMinimumMatchingElements()); return bQuery; }
@Override public String toString() { if (getChildren() == null || getChildren().size() == 0) return "<any field='" + this.field + "' matchelements=" + this.minimumMatchingmElements + "/>"; StringBuilder sb = new StringBuilder(); sb.append("<any field='" + this.field + "' matchelements=" + this.minimumMatchingmElements + ">"); for (QueryNode clause : getChildren()) { sb.append("\n"); sb.append(clause.toString()); } sb.append("\n</any>"); return sb.toString(); }
@Override public BooleanQuery build(QueryNode queryNode) throws QueryNodeException { AnyQueryNode andNode = (AnyQueryNode) queryNode; BooleanQuery.Builder bQuery = new BooleanQuery.Builder(); List<QueryNode> children = andNode.getChildren(); if (children != null) { for (QueryNode child : children) { Object obj = child.getTag(QueryTreeBuilder.QUERY_TREE_BUILDER_TAGID); if (obj != null) { Query query = (Query) obj; try { bQuery.add(query, BooleanClause.Occur.SHOULD); } catch (TooManyClauses ex) { throw new QueryNodeException(new MessageImpl( /* * IQQQ.Q0028E_TOO_MANY_BOOLEAN_CLAUSES, * BooleanQuery.getMaxClauseCount() */QueryParserMessages.EMPTY_MESSAGE), ex); } } } } bQuery.setMinimumNumberShouldMatch(andNode.getMinimumMatchingElements()); return bQuery.build(); }
@Override public CharSequence toQueryString(EscapeQuerySyntax escapeSyntaxParser) { String anySTR = "ANY " + this.minimumMatchingmElements; StringBuilder sb = new StringBuilder(); if (getChildren() == null || getChildren().size() == 0) { // no childs case } else { String filler = ""; for (QueryNode clause : getChildren()) { sb.append(filler).append(clause.toQueryString(escapeSyntaxParser)); filler = " "; } } if (isDefaultField(this.field)) { return "( " + sb.toString() + " ) " + anySTR; } else { return this.field + ":(( " + sb.toString() + " ) " + anySTR + ")"; } }
@Override public BooleanQuery build(QueryNode queryNode) throws QueryNodeException { AnyQueryNode andNode = (AnyQueryNode) queryNode; BooleanQuery.Builder bQuery = new BooleanQuery.Builder(); List<QueryNode> children = andNode.getChildren(); if (children != null) { for (QueryNode child : children) { Object obj = child.getTag(QueryTreeBuilder.QUERY_TREE_BUILDER_TAGID); if (obj != null) { Query query = (Query) obj; try { bQuery.add(query, BooleanClause.Occur.SHOULD); } catch (TooManyClauses ex) { throw new QueryNodeException(new MessageImpl( /* * IQQQ.Q0028E_TOO_MANY_BOOLEAN_CLAUSES, * BooleanQuery.getMaxClauseCount() */QueryParserMessages.EMPTY_MESSAGE), ex); } } } } bQuery.setMinimumNumberShouldMatch(andNode.getMinimumMatchingElements()); return bQuery.build(); }