Package org.apache.lucene.search

Examples of org.apache.lucene.search.TermRangeQuery


    writer.addDocument(doc);
    writer.close();
    IndexReader reader = DirectoryReader.open(dir);
    IndexSearcher searcher = new IndexSearcher(reader);

    Query query = new TermRangeQuery("content", firstBeg, firstEnd, true, true);
    ScoreDoc[] hits = searcher.search(query, null, 1000).scoreDocs;
    assertEquals("The index Term should not be included.", 0, hits.length);

    query = new TermRangeQuery("content", secondBeg, secondEnd, true, true);
    hits = searcher.search(query, null, 1000).scoreDocs;
    assertEquals("The index Term should be included.", 1, hits.length);
    reader.close();
    dir.close();
  }
View Full Code Here


    // orders the U+0698 character before the U+0633 character, so the single
    // index Term below should NOT be returned by a TermRangeQuery
    // with a Farsi Collator (or an Arabic one for the case when Farsi is
    // not supported).
    Query csrq
      = new TermRangeQuery("content", firstBeg, firstEnd, true, true);
    ScoreDoc[] result = search.search(csrq, null, 1000).scoreDocs;
    assertEquals("The index Term should not be included.", 0, result.length);

    csrq = new TermRangeQuery
      ("content", secondBeg, secondEnd, true, true);
    result = search.search(csrq, null, 1000).scoreDocs;
    assertEquals("The index Term should be included.", 1, result.length);
    reader.close();
    farsiIndex.close();
View Full Code Here

    CustomScoreQuery rewritten = (CustomScoreQuery) original.rewrite(s.getIndexReader());
    assertTrue("rewritten query should be identical, as TermQuery does not rewrite", original == rewritten);
    assertTrue("no hits for query", s.search(rewritten,1).totalHits > 0);
    assertEquals(s.search(q,1).totalHits, s.search(rewritten,1).totalHits);

    q = new TermRangeQuery(TEXT_FIELD, null, null, true, true); // everything
    original = new CustomScoreQuery(q);
    rewritten = (CustomScoreQuery) original.rewrite(s.getIndexReader());
    assertTrue("rewritten query should not be identical, as TermRangeQuery rewrites", original != rewritten);
    assertTrue("no hits for query", s.search(rewritten,1).totalHits > 0);
    assertEquals(s.search(q,1).totalHits, s.search(original,1).totalHits);
View Full Code Here

    }
    return query;
  }

  private Query createRangeQuery(String min, String max, boolean includeMin, boolean includeMax) {
    return new TermRangeQuery(
        getFieldName(),
        min,
        max,
        includeMin,
        includeMax
View Full Code Here

      final String toString = fieldContext.objectToString( documentBuilder, toObject, conversionContext );
      final String upperTerm = toString == null ?
          null :
          Helper.getAnalyzedTerm( fieldName, toString, "to", queryAnalyzer, fieldContext );

      perFieldQuery = new TermRangeQuery(
          fieldName,
          lowerTerm,
          upperTerm,
          !rangeContext.isExcludeFrom(),
          !rangeContext.isExcludeTo()
View Full Code Here

        this(new PropertyHolder(uriRefProperty), lowerTerm, upperTerm, includeUpper, includeLower);
    }
   
    @Override
    public Query query() {
        return new TermRangeQuery(property.stringKey, new BytesRef(lowerTerm), new BytesRef(upperTerm), includeUpper, includeLower);
    }
View Full Code Here

    }
   
    String field = Field.MODIFIED.name().toLowerCase(Locale.ENGLISH);
    //NumericRangeQuery rangeQuery = NumericRangeQuery.newLongRange(field, start, end, true, true);
   
    return new TermRangeQuery(field, "" + start, "" + end, true, true);
  }
View Full Code Here

    }
    return query;
  }

  private Query createRangeQuery(String min, String max, boolean includeMin, boolean includeMax) {
    return new TermRangeQuery(
        getFieldName(),
        min,
        max,
        includeMin,
        includeMax
View Full Code Here

   * @param part2 max
   * @param inclusive true if range is inclusive
   * @return new TermRangeQuery instance
   */
  protected Query newRangeQuery(String field, String part1, String part2, boolean inclusive) {
    final TermRangeQuery query = new TermRangeQuery(field, part1, part2, inclusive, inclusive, rangeCollator);
    query.setRewriteMethod(multiTermRewriteMethod);
    return query;
  }
View Full Code Here

      NumericRangeQuery q = NumericRangeQuery.newIntRange("userCount", Integer.valueOf(30), Integer.valueOf(10000), true, true);
      //q = NumericRangeQuery.newLongRange("userCount", Long.valueOf(30), Long.valueOf(10000), true, true);
      query = q;
    } else {
      TermQuery q1 = new TermQuery(new Term("contents", key));
      TermRangeQuery q2 = new TermRangeQuery("userCount", NumericUtils.longToPrefixCoded(30), NumericUtils.longToPrefixCoded(300), false, false);
      BooleanQuery q = new BooleanQuery();
      //q.add(q1, BooleanClause.Occur.MUST);
      q.add(q2, BooleanClause.Occur.MUST);
      query = q;
    }
View Full Code Here

TOP

Related Classes of org.apache.lucene.search.TermRangeQuery

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.