List of usage examples for org.apache.lucene.search.spans SpanTermQuery getTerm
public Term getTerm()
From source file:org.apache.solr.search.TestSolrCoreParser.java
License:Apache License
private static void checkChooseOneWordQuery(boolean span, Query query, String fieldName, String... expectedTermTexts) { final Term term; if (span) {/*from ww w . j a v a 2s .co m*/ assertTrue(query instanceof SpanTermQuery); final SpanTermQuery stq = (SpanTermQuery) query; term = stq.getTerm(); } else { assertTrue(query instanceof TermQuery); final TermQuery tq = (TermQuery) query; term = tq.getTerm(); } final String text = term.text(); boolean foundExpected = false; for (String expected : expectedTermTexts) { foundExpected |= expected.equals(text); } assertEquals(fieldName, term.field()); assertTrue("expected term text (" + text + ") not found in (" + expectedTermTexts + ")", foundExpected); }
From source file:org.elasticsearch.index.query.json.SimpleJsonIndexQueryParserTests.java
License:Apache License
@Test public void testSpanTermQueryBuilder() throws IOException { IndexQueryParser queryParser = newQueryParser(); Query parsedQuery = queryParser.parse(spanTermQuery("age", 34)); assertThat(parsedQuery, instanceOf(SpanTermQuery.class)); SpanTermQuery termQuery = (SpanTermQuery) parsedQuery; // since age is automatically registered in data, we encode it as numeric assertThat(termQuery.getTerm(), equalTo(new Term("age", NumericUtils.longToPrefixCoded(34)))); }
From source file:org.elasticsearch.index.query.json.SimpleJsonIndexQueryParserTests.java
License:Apache License
@Test public void testSpanTermQuery() throws IOException { IndexQueryParser queryParser = newQueryParser(); String query = copyToStringFromClasspath("/org/elasticsearch/index/query/json/spanTerm.json"); Query parsedQuery = queryParser.parse(query); assertThat(parsedQuery, instanceOf(SpanTermQuery.class)); SpanTermQuery termQuery = (SpanTermQuery) parsedQuery; // since age is automatically registered in data, we encode it as numeric assertThat(termQuery.getTerm(), equalTo(new Term("age", NumericUtils.longToPrefixCoded(34)))); }
From source file:org.elasticsearch.index.query.SimpleIndexQueryParserTests.java
License:Apache License
@Test public void testSpanTermQueryBuilder() throws IOException { IndexQueryParserService queryParser = queryParser(); Query parsedQuery = queryParser.parse(spanTermQuery("age", 34)).query(); assertThat(parsedQuery, instanceOf(SpanTermQuery.class)); SpanTermQuery termQuery = (SpanTermQuery) parsedQuery; // since age is automatically registered in data, we encode it as numeric assertThat(termQuery.getTerm(), equalTo(new Term("age", longToPrefixCoded(34, 0)))); }
From source file:org.elasticsearch.index.query.SimpleIndexQueryParserTests.java
License:Apache License
@Test public void testSpanTermQuery() throws IOException { IndexQueryParserService queryParser = queryParser(); String query = copyToStringFromClasspath("/org/elasticsearch/index/query/spanTerm.json"); Query parsedQuery = queryParser.parse(query).query(); assertThat(parsedQuery, instanceOf(SpanTermQuery.class)); SpanTermQuery termQuery = (SpanTermQuery) parsedQuery; // since age is automatically registered in data, we encode it as numeric assertThat(termQuery.getTerm(), equalTo(new Term("age", longToPrefixCoded(34, 0)))); }
From source file:org.elasticsearch.index.query.SpanTermQueryBuilderTests.java
License:Apache License
@Override protected void doAssertLuceneQuery(SpanTermQueryBuilder queryBuilder, Query query, QueryShardContext context) throws IOException { assertThat(query, instanceOf(SpanTermQuery.class)); SpanTermQuery spanTermQuery = (SpanTermQuery) query; assertThat(spanTermQuery.getTerm().field(), equalTo(queryBuilder.fieldName())); MappedFieldType mapper = context.fieldMapper(queryBuilder.fieldName()); if (mapper != null) { Term term = ((TermQuery) mapper.termQuery(queryBuilder.value(), null)).getTerm(); assertThat(spanTermQuery.getTerm(), equalTo(term)); } else {// ww w. j a v a2s. c om assertThat(spanTermQuery.getTerm().bytes(), equalTo(BytesRefs.toBytesRef(queryBuilder.value()))); } }
From source file:org.elasticsearch.index.query.xcontent.SimpleIndexQueryParserTests.java
License:Apache License
@Test public void testSpanTermQueryBuilder() throws IOException { IndexQueryParser queryParser = queryParser(); Query parsedQuery = queryParser.parse(spanTermQuery("age", 34)).query(); assertThat(parsedQuery, instanceOf(SpanTermQuery.class)); SpanTermQuery termQuery = (SpanTermQuery) parsedQuery; // since age is automatically registered in data, we encode it as numeric assertThat(termQuery.getTerm(), equalTo(new Term("age", NumericUtils.longToPrefixCoded(34)))); }
From source file:org.elasticsearch.index.query.xcontent.SimpleIndexQueryParserTests.java
License:Apache License
@Test public void testSpanTermQuery() throws IOException { IndexQueryParser queryParser = queryParser(); String query = copyToStringFromClasspath("/org/elasticsearch/index/query/xcontent/spanTerm.json"); Query parsedQuery = queryParser.parse(query).query(); assertThat(parsedQuery, instanceOf(SpanTermQuery.class)); SpanTermQuery termQuery = (SpanTermQuery) parsedQuery; // since age is automatically registered in data, we encode it as numeric assertThat(termQuery.getTerm(), equalTo(new Term("age", NumericUtils.longToPrefixCoded(34)))); }
From source file:org.elasticsearch.percolator.ExtractQueryTermsServiceTests.java
License:Apache License
public void testExtractQueryMetadata_spanTermQuery() { // the following span queries aren't exposed in the query dsl and are therefor not supported: // 1) SpanPositionRangeQuery // 2) PayloadScoreQuery // 3) SpanBoostQuery // The following span queries can't be supported because of how these queries work: // 1) SpanMultiTermQueryWrapper, not supported, because there is no support for MTQ typed queries yet. // 2) SpanContainingQuery, is kind of range of spans and we don't know what is between the little and big terms // 3) SpanWithinQuery, same reason as SpanContainingQuery // 4) FieldMaskingSpanQuery is a tricky query so we shouldn't optimize this SpanTermQuery spanTermQuery1 = new SpanTermQuery(new Term("_field", "_short_term")); Result result = extractQueryTerms(spanTermQuery1); assertThat(result.verified, is(true)); assertTermsEqual(result.terms, spanTermQuery1.getTerm()); }
From source file:org.elasticsearch.percolator.ExtractQueryTermsServiceTests.java
License:Apache License
public void testExtractQueryMetadata_spanNearQuery() { SpanTermQuery spanTermQuery1 = new SpanTermQuery(new Term("_field", "_short_term")); SpanTermQuery spanTermQuery2 = new SpanTermQuery(new Term("_field", "_very_long_term")); SpanNearQuery spanNearQuery = new SpanNearQuery.Builder("_field", true).addClause(spanTermQuery1) .addClause(spanTermQuery2).build(); Result result = extractQueryTerms(spanNearQuery); assertThat(result.verified, is(false)); assertTermsEqual(result.terms, spanTermQuery2.getTerm()); }