Example usage for org.apache.lucene.search.spans SpanOrQuery addClause

List of usage examples for org.apache.lucene.search.spans SpanOrQuery addClause

Introduction

In this page you can find the example usage for org.apache.lucene.search.spans SpanOrQuery addClause.

Prototype

private final void addClause(SpanQuery clause) 

Source Link

Document

Adds a clause to this query

Usage

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;
}