List of usage examples for org.apache.lucene.search.spans SpanOrQuery addClause
private final void addClause(SpanQuery clause)
From source file:com.o19s.solr.swan.nodes.SwanOrOperationNode.java
License:Apache License
@Override public SpanQuery getSpanQuery(String field) { SpanOrQuery query = new SpanOrQuery(); for (SwanNode n : _nodes) { query.addClause(n.getSpanQuery(field)); }//from ww w. j a v a 2 s . co m return query; }
From source file:com.o19s.solr.swan.nodes.SwanXOrOperationNode.java
License:Apache License
@Override public SpanQuery getSpanQuery(String field) { SpanOrQuery query = new SpanOrQuery(); List<SwanNode> inc;/* w w w . jav a 2 s. c o m*/ for (int x = 0; x < _nodes.size(); x++) { inc = new ArrayList<SwanNode>(); inc.addAll(_nodes); inc.remove(x); SpanOrQuery or = new SpanOrQuery(); for (SwanNode n : inc) { or.addClause(n.getSpanQuery(field)); } if (or.getClauses().length > 0) { SpanNotQuery not = new SpanNotQuery(_nodes.get(x).getSpanQuery(field), or); query.addClause(not); } } return query; }