Example usage for org.apache.lucene.search.spans SpanNotQuery getExclude

List of usage examples for org.apache.lucene.search.spans SpanNotQuery getExclude

Introduction

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

Prototype

public SpanQuery getExclude() 

Source Link

Document

Return the SpanQuery whose matches must not overlap those returned.

Usage

From source file:edu.mit.ll.vizlinc.highlight.WeightedSpanTermExtractor.java

License:Apache License

private boolean mustRewriteQuery(SpanQuery spanQuery) {
    if (!expandMultiTermQuery) {
        return false; // Will throw UnsupportedOperationException in case of a SpanRegexQuery.
    } else if (spanQuery instanceof FieldMaskingSpanQuery) {
        return mustRewriteQuery(((FieldMaskingSpanQuery) spanQuery).getMaskedQuery());
    } else if (spanQuery instanceof SpanFirstQuery) {
        return mustRewriteQuery(((SpanFirstQuery) spanQuery).getMatch());
    } else if (spanQuery instanceof SpanNearQuery) {
        for (final SpanQuery clause : ((SpanNearQuery) spanQuery).getClauses()) {
            if (mustRewriteQuery(clause)) {
                return true;
            }/* w  ww .j av a 2 s  .  c om*/
        }
        return false;
    } else if (spanQuery instanceof SpanNotQuery) {
        SpanNotQuery spanNotQuery = (SpanNotQuery) spanQuery;
        return mustRewriteQuery(spanNotQuery.getInclude()) || mustRewriteQuery(spanNotQuery.getExclude());
    } else if (spanQuery instanceof SpanOrQuery) {
        for (final SpanQuery clause : ((SpanOrQuery) spanQuery).getClauses()) {
            if (mustRewriteQuery(clause)) {
                return true;
            }
        }
        return false;
    } else if (spanQuery instanceof SpanTermQuery) {
        return false;
    } else {
        return true;
    }
}

From source file:org.elasticsearch.index.query.json.SimpleJsonIndexQueryParserTests.java

License:Apache License

@Test
public void testSpanNotQueryBuilder() throws IOException {
    IndexQueryParser queryParser = newQueryParser();
    Query parsedQuery = queryParser
            .parse(spanNotQuery().include(spanTermQuery("age", 34)).exclude(spanTermQuery("age", 35)));
    assertThat(parsedQuery, instanceOf(SpanNotQuery.class));
    SpanNotQuery spanNotQuery = (SpanNotQuery) parsedQuery;
    // since age is automatically registered in data, we encode it as numeric
    assertThat(((SpanTermQuery) spanNotQuery.getInclude()).getTerm(),
            equalTo(new Term("age", NumericUtils.longToPrefixCoded(34))));
    assertThat(((SpanTermQuery) spanNotQuery.getExclude()).getTerm(),
            equalTo(new Term("age", NumericUtils.longToPrefixCoded(35))));
}

From source file:org.elasticsearch.index.query.json.SimpleJsonIndexQueryParserTests.java

License:Apache License

@Test
public void testSpanNotQuery() throws IOException {
    IndexQueryParser queryParser = newQueryParser();
    String query = copyToStringFromClasspath("/org/elasticsearch/index/query/json/spanNot.json");
    Query parsedQuery = queryParser.parse(query);
    assertThat(parsedQuery, instanceOf(SpanNotQuery.class));
    SpanNotQuery spanNotQuery = (SpanNotQuery) parsedQuery;
    // since age is automatically registered in data, we encode it as numeric
    assertThat(((SpanTermQuery) spanNotQuery.getInclude()).getTerm(),
            equalTo(new Term("age", NumericUtils.longToPrefixCoded(34))));
    assertThat(((SpanTermQuery) spanNotQuery.getExclude()).getTerm(),
            equalTo(new Term("age", NumericUtils.longToPrefixCoded(35))));
}

From source file:org.elasticsearch.index.query.SimpleIndexQueryParserTests.java

License:Apache License

@Test
public void testSpanNotQueryBuilder() throws IOException {
    IndexQueryParserService queryParser = queryParser();
    Query parsedQuery = queryParser
            .parse(spanNotQuery().include(spanTermQuery("age", 34)).exclude(spanTermQuery("age", 35))).query();
    assertThat(parsedQuery, instanceOf(SpanNotQuery.class));
    SpanNotQuery spanNotQuery = (SpanNotQuery) parsedQuery;
    // since age is automatically registered in data, we encode it as numeric
    assertThat(((SpanTermQuery) spanNotQuery.getInclude()).getTerm(),
            equalTo(new Term("age", longToPrefixCoded(34, 0))));
    assertThat(((SpanTermQuery) spanNotQuery.getExclude()).getTerm(),
            equalTo(new Term("age", longToPrefixCoded(35, 0))));
}

From source file:org.elasticsearch.index.query.SimpleIndexQueryParserTests.java

License:Apache License

@Test
public void testSpanNotQuery() throws IOException {
    IndexQueryParserService queryParser = queryParser();
    String query = copyToStringFromClasspath("/org/elasticsearch/index/query/spanNot.json");
    Query parsedQuery = queryParser.parse(query).query();
    assertThat(parsedQuery, instanceOf(SpanNotQuery.class));
    SpanNotQuery spanNotQuery = (SpanNotQuery) parsedQuery;
    // since age is automatically registered in data, we encode it as numeric
    assertThat(((SpanTermQuery) spanNotQuery.getInclude()).getTerm(),
            equalTo(new Term("age", longToPrefixCoded(34, 0))));
    assertThat(((SpanTermQuery) spanNotQuery.getExclude()).getTerm(),
            equalTo(new Term("age", longToPrefixCoded(35, 0))));
}

From source file:org.elasticsearch.index.query.SpanNotQueryBuilderTests.java

License:Apache License

@Override
protected void doAssertLuceneQuery(SpanNotQueryBuilder queryBuilder, Query query, QueryShardContext context)
        throws IOException {
    assertThat(query, instanceOf(SpanNotQuery.class));
    SpanNotQuery spanNotQuery = (SpanNotQuery) query;
    assertThat(spanNotQuery.getExclude(), equalTo(queryBuilder.excludeQuery().toQuery(context)));
    assertThat(spanNotQuery.getInclude(), equalTo(queryBuilder.includeQuery().toQuery(context)));
}

From source file:org.elasticsearch.index.query.xcontent.SimpleIndexQueryParserTests.java

License:Apache License

@Test
public void testSpanNotQueryBuilder() throws IOException {
    IndexQueryParser queryParser = queryParser();
    Query parsedQuery = queryParser
            .parse(spanNotQuery().include(spanTermQuery("age", 34)).exclude(spanTermQuery("age", 35))).query();
    assertThat(parsedQuery, instanceOf(SpanNotQuery.class));
    SpanNotQuery spanNotQuery = (SpanNotQuery) parsedQuery;
    // since age is automatically registered in data, we encode it as numeric
    assertThat(((SpanTermQuery) spanNotQuery.getInclude()).getTerm(),
            equalTo(new Term("age", NumericUtils.longToPrefixCoded(34))));
    assertThat(((SpanTermQuery) spanNotQuery.getExclude()).getTerm(),
            equalTo(new Term("age", NumericUtils.longToPrefixCoded(35))));
}

From source file:org.elasticsearch.index.query.xcontent.SimpleIndexQueryParserTests.java

License:Apache License

@Test
public void testSpanNotQuery() throws IOException {
    IndexQueryParser queryParser = queryParser();
    String query = copyToStringFromClasspath("/org/elasticsearch/index/query/xcontent/spanNot.json");
    Query parsedQuery = queryParser.parse(query).query();
    assertThat(parsedQuery, instanceOf(SpanNotQuery.class));
    SpanNotQuery spanNotQuery = (SpanNotQuery) parsedQuery;
    // since age is automatically registered in data, we encode it as numeric
    assertThat(((SpanTermQuery) spanNotQuery.getInclude()).getTerm(),
            equalTo(new Term("age", NumericUtils.longToPrefixCoded(34))));
    assertThat(((SpanTermQuery) spanNotQuery.getExclude()).getTerm(),
            equalTo(new Term("age", NumericUtils.longToPrefixCoded(35))));
}

From source file:org.elasticsearch.test.unit.index.query.SimpleIndexQueryParserTests.java

License:Apache License

@Test
public void testSpanNotQuery() throws IOException {
    IndexQueryParserService queryParser = queryParser();
    String query = copyToStringFromClasspath("/org/elasticsearch/test/unit/index/query/spanNot.json");
    Query parsedQuery = queryParser.parse(query).query();
    assertThat(parsedQuery, instanceOf(SpanNotQuery.class));
    SpanNotQuery spanNotQuery = (SpanNotQuery) parsedQuery;
    // since age is automatically registered in data, we encode it as numeric
    assertThat(((SpanTermQuery) spanNotQuery.getInclude()).getTerm(),
            equalTo(new Term("age", longToPrefixCoded(34, 0))));
    assertThat(((SpanTermQuery) spanNotQuery.getExclude()).getTerm(),
            equalTo(new Term("age", longToPrefixCoded(35, 0))));
}