Examples of TermRangeQueryNode


Examples of org.apache.lucene.queryParser.standard.nodes.TermRangeQueryNode

  public TermRangeQueryNodeBuilder() {
  // empty constructor
  }
 
  public TermRangeQuery build(QueryNode queryNode) throws QueryNodeException {
    TermRangeQueryNode rangeNode = (TermRangeQueryNode) queryNode;
    FieldQueryNode upper = rangeNode.getUpperBound();
    FieldQueryNode lower = rangeNode.getLowerBound();
   
    String field = StringUtils.toString(rangeNode.getField());
   
    TermRangeQuery rangeQuery = new TermRangeQuery(field, lower
        .getTextAsString(), upper.getTextAsString(), rangeNode
        .isLowerInclusive(), rangeNode.isUpperInclusive());
   
    MultiTermQuery.RewriteMethod method = (MultiTermQuery.RewriteMethod) queryNode
        .getTag(MultiTermRewriteMethodProcessor.TAG_ID);
    if (method != null) {
      rangeQuery.setRewriteMethod(method);
View Full Code Here

Examples of org.apache.lucene.queryparser.flexible.standard.nodes.TermRangeQueryNode

  @Override
  protected QueryNode postProcessNode(final QueryNode node)
  throws QueryNodeException {
    if (node instanceof TermRangeQueryNode) {
      final TermRangeQueryNode termRangeNode = (TermRangeQueryNode) node;

      final Map<String, Analyzer> dts = this.getQueryConfigHandler().get(KeywordConfigurationKeys.DATATYPES_ANALYZERS);
      final Analyzer analyzer = dts.get(node.getTag(DatatypeQueryNode.DATATYPE_TAGID));

      if (analyzer instanceof NumericAnalyzer) {
        final NumericAnalyzer na = (NumericAnalyzer) analyzer;

        final FieldQueryNode lower = termRangeNode.getLowerBound();
        final FieldQueryNode upper = termRangeNode.getUpperBound();

        final char[] lowerText = lower.getTextAsString().toCharArray();
        final char[] upperText = upper.getTextAsString().toCharArray();

        final NumericParser<?> parser = na.getNumericParser();
        final Number lowerNumber;
        try {
          if (lowerText.length == 0) { // open bound
            lowerNumber = null;
          } else {
            final ReusableCharArrayReader lowerReader = new ReusableCharArrayReader(lowerText);
            lowerNumber = parser.parse(lowerReader);
          }
        } catch (final Exception e) {
          throw new QueryNodeParseException(new MessageImpl(QueryParserMessages.COULD_NOT_PARSE_NUMBER,
            lowerText, parser.getNumericType() + " parser"), e);
        }
        final Number upperNumber;
        try {
          if (upperText.length == 0) { // open bound
            upperNumber = null;
          } else {
            final ReusableCharArrayReader upperReader = new ReusableCharArrayReader(upperText);
            upperNumber = parser.parse(upperReader);
          }
        } catch (final Exception e) {
          throw new QueryNodeParseException(new MessageImpl(QueryParserMessages.COULD_NOT_PARSE_NUMBER,
            upperText, parser.getNumericType() + " parser"), e);
        }

        final CharSequence field = termRangeNode.getField();
        final NodeNumericQueryNode lowerNode = new NodeNumericQueryNode(field, lowerNumber);
        final NodeNumericQueryNode upperNode = new NodeNumericQueryNode(field, upperNumber);

        final boolean lowerInclusive = termRangeNode.isLowerInclusive();
        final boolean upperInclusive = termRangeNode.isUpperInclusive();

        return new NodeNumericRangeQueryNode(lowerNode, upperNode, lowerInclusive, upperInclusive, na);
      }
    }
    return node;
View Full Code Here

Examples of org.apache.lucene.queryparser.flexible.standard.nodes.TermRangeQueryNode

  public NodeTermRangeQueryNodeBuilder() {
  }

  public NodeTermRangeQuery build(final QueryNode queryNode) throws QueryNodeException {
    final TermRangeQueryNode rangeNode = (TermRangeQueryNode) queryNode;
    final FieldQueryNode upper = rangeNode.getUpperBound();
    final FieldQueryNode lower = rangeNode.getLowerBound();

    final String field = StringUtils.toString(rangeNode.getField());
    String lowerText = lower.getTextAsString();
    String upperText = upper.getTextAsString();

    if (lowerText.length() == 0) {
      lowerText = null;
    }

    if (upperText.length() == 0) {
      upperText = null;
    }

    final NodeTermRangeQuery rangeQuery = NodeTermRangeQuery.newStringRange(field, lowerText, upperText, rangeNode
        .isLowerInclusive(), rangeNode.isUpperInclusive());

    final MultiNodeTermQuery.RewriteMethod method = (MultiNodeTermQuery.RewriteMethod) queryNode
        .getTag(MultiNodeTermRewriteMethodProcessor.TAG_ID);
    if (method != null) {
      rangeQuery.setRewriteMethod(method);
View Full Code Here

Examples of org.apache.lucene.queryparser.flexible.standard.nodes.TermRangeQueryNode

                                         "*", term.beginColumn, term.endColumn);
                break;
            default:
                {if (true) throw new Error("Unhandled case: operator="+operator.toString());}
        }
        q = new TermRangeQueryNode(qLower, qUpper, lowerInclusive, upperInclusive);
        break;
      default:
        jj_la1[10] = jj_gen;
        jj_consume_token(-1);
        throw new ParseException();
View Full Code Here

Examples of org.apache.lucene.queryparser.flexible.standard.nodes.TermRangeQueryNode

          qLower = new FieldQueryNode(field,
                                   EscapeQuerySyntaxImpl.discardEscapeChar(goop1.image), goop1.beginColumn, goop1.endColumn);
      qUpper = new FieldQueryNode(field,
                                   EscapeQuerySyntaxImpl.discardEscapeChar(goop2.image), goop2.beginColumn, goop2.endColumn);
          q = new TermRangeQueryNode(qLower, qUpper, startInc ? true : false, endInc ? true : false);
      break;
    case QUOTED:
      term = jj_consume_token(QUOTED);
                      q = new QuotedFieldQueryNode(field, EscapeQuerySyntaxImpl.discardEscapeChar(term.image.substring(1, term.image.length()-1)), term.beginColumn + 1, term.endColumn - 1);
      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
View Full Code Here

Examples of org.apache.lucene.queryparser.flexible.standard.nodes.TermRangeQueryNode

                                         "*", term.beginColumn, term.endColumn);
                break;
            default:
                {if (true) throw new Error("Unhandled case: operator="+operator.toString());}
        }
        q = new TermRangeQueryNode(qLower, qUpper, lowerInclusive, upperInclusive);
        break;
      default:
        jj_la1[10] = jj_gen;
        jj_consume_token(-1);
        throw new ParseException();
View Full Code Here

Examples of org.apache.lucene.queryparser.flexible.standard.nodes.TermRangeQueryNode

          qLower = new FieldQueryNode(field,
                                   EscapeQuerySyntaxImpl.discardEscapeChar(goop1.image), goop1.beginColumn, goop1.endColumn);
      qUpper = new FieldQueryNode(field,
                                   EscapeQuerySyntaxImpl.discardEscapeChar(goop2.image), goop2.beginColumn, goop2.endColumn);
          q = new TermRangeQueryNode(qLower, qUpper, startInc ? true : false, endInc ? true : false);
      break;
    case QUOTED:
      term = jj_consume_token(QUOTED);
                      q = new QuotedFieldQueryNode(field, EscapeQuerySyntaxImpl.discardEscapeChar(term.image.substring(1, term.image.length()-1)), term.beginColumn + 1, term.endColumn - 1);
      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
View Full Code Here

Examples of org.apache.lucene.queryparser.flexible.standard.nodes.TermRangeQueryNode

  // empty constructor
  }
 
  @Override
  public TermRangeQuery build(QueryNode queryNode) throws QueryNodeException {
    TermRangeQueryNode rangeNode = (TermRangeQueryNode) queryNode;
    FieldQueryNode upper = rangeNode.getUpperBound();
    FieldQueryNode lower = rangeNode.getLowerBound();
   
    String field = StringUtils.toString(rangeNode.getField());
    String lowerText = lower.getTextAsString();
    String upperText = upper.getTextAsString();
   
    if (lowerText.length() == 0) {
      lowerText = null;
    }
   
    if (upperText.length() == 0) {
      upperText = null;
    }
   
    TermRangeQuery rangeQuery = TermRangeQuery.newStringRange(field, lowerText, upperText, rangeNode
        .isLowerInclusive(), rangeNode.isUpperInclusive());
   
    MultiTermQuery.RewriteMethod method = (MultiTermQuery.RewriteMethod) queryNode
        .getTag(MultiTermRewriteMethodProcessor.TAG_ID);
    if (method != null) {
      rangeQuery.setRewriteMethod(method);
View Full Code Here

Examples of org.apache.lucene.queryparser.flexible.standard.nodes.TermRangeQueryNode

          qLower = new FieldQueryNode(field,
                                   EscapeQuerySyntaxImpl.discardEscapeChar(goop1.image), goop1.beginColumn, goop1.endColumn);
      qUpper = new FieldQueryNode(field,
                                   EscapeQuerySyntaxImpl.discardEscapeChar(goop2.image), goop2.beginColumn, goop2.endColumn);
          q = new TermRangeQueryNode(qLower, qUpper, startInc ? true : false, endInc ? true : false);
      break;
    case QUOTED:
      term = jj_consume_token(QUOTED);
                      q = new QuotedFieldQueryNode(field, EscapeQuerySyntaxImpl.discardEscapeChar(term.image.substring(1, term.image.length()-1)), term.beginColumn + 1, term.endColumn - 1);
      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
View Full Code Here

Examples of org.apache.lucene.queryparser.flexible.standard.nodes.TermRangeQueryNode

 
  @Override
  protected QueryNode postProcessNode(QueryNode node) throws QueryNodeException {
   
    if (node instanceof TermRangeQueryNode) {
      TermRangeQueryNode rangeNode = (TermRangeQueryNode) node;
      FieldQueryNode lowerNode = rangeNode.getLowerBound();
      FieldQueryNode upperNode = rangeNode.getUpperBound();
      CharSequence lowerText = lowerNode.getText();
      CharSequence upperText = upperNode.getText();
     
      if (OPEN_RANGE_TOKEN.equals(upperNode.getTextAsString())
          && (!(upperText instanceof UnescapedCharSequence) || !((UnescapedCharSequence) upperText)
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. 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.