use of org.apache.lucene.queryparser.flexible.core.nodes.QueryNode in project lucene-solr by apache.
the class MultiPhraseQueryNode method toString.
@Override
public String toString() {
if (getChildren() == null || getChildren().size() == 0)
return "<multiPhrase/>";
StringBuilder sb = new StringBuilder();
sb.append("<multiPhrase>");
for (QueryNode child : getChildren()) {
sb.append("\n");
sb.append(child.toString());
}
sb.append("\n</multiPhrase>");
return sb.toString();
}
use of org.apache.lucene.queryparser.flexible.core.nodes.QueryNode in project lucene-solr by apache.
the class MultiPhraseQueryNode method toQueryString.
@Override
public CharSequence toQueryString(EscapeQuerySyntax escapeSyntaxParser) {
if (getChildren() == null || getChildren().size() == 0)
return "";
StringBuilder sb = new StringBuilder();
String filler = "";
for (QueryNode child : getChildren()) {
sb.append(filler).append(child.toQueryString(escapeSyntaxParser));
filler = ",";
}
return "[MTP[" + sb.toString() + "]]";
}
use of org.apache.lucene.queryparser.flexible.core.nodes.QueryNode in project lucene-solr by apache.
the class StandardSyntaxParser method ConjQuery.
public final QueryNode ConjQuery(CharSequence field) throws ParseException {
QueryNode first, c;
Vector<QueryNode> clauses = null;
first = ModClause(field);
label_3: while (true) {
switch((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
case AND:
;
break;
default:
jj_la1[4] = jj_gen;
break label_3;
}
jj_consume_token(AND);
c = ModClause(field);
if (clauses == null) {
clauses = new Vector<QueryNode>();
clauses.addElement(first);
}
clauses.addElement(c);
}
if (clauses != null) {
{
if (true)
return new AndQueryNode(clauses);
}
} else {
{
if (true)
return first;
}
}
throw new Error("Missing return statement in function");
}
use of org.apache.lucene.queryparser.flexible.core.nodes.QueryNode in project lucene-solr by apache.
the class AnyQueryNodeBuilder method build.
@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();
}
use of org.apache.lucene.queryparser.flexible.core.nodes.QueryNode in project lucene-solr by apache.
the class BooleanQueryNodeBuilder method build.
@Override
public BooleanQuery build(QueryNode queryNode) throws QueryNodeException {
BooleanQueryNode booleanNode = (BooleanQueryNode) queryNode;
BooleanQuery.Builder bQuery = new BooleanQuery.Builder();
List<QueryNode> children = booleanNode.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, getModifierValue(child));
} catch (TooManyClauses ex) {
throw new QueryNodeException(new MessageImpl(QueryParserMessages.TOO_MANY_BOOLEAN_CLAUSES, BooleanQuery.getMaxClauseCount(), queryNode.toQueryString(new EscapeQuerySyntaxImpl())), ex);
}
}
}
}
return bQuery.build();
}
Aggregations