org.apache.lucene.document.FieldType.NumericType

Here are the examples of the java api class org.apache.lucene.document.FieldType.NumericType taken from open source projects.

1. NodeNumericRangeQueryNodeBuilder#build()

Project: SIREn
File: NodeNumericRangeQueryNodeBuilder.java
public NodeNumericRangeQuery<? extends Number> build(final QueryNode queryNode) throws QueryNodeException {
    final NodeNumericRangeQueryNode numericRangeNode = (NodeNumericRangeQueryNode) queryNode;
    final NumericQueryNode lowerNumericNode = numericRangeNode.getLowerBound();
    final NumericQueryNode upperNumericNode = numericRangeNode.getUpperBound();
    final Number lowerNumber, upperNumber;
    if (lowerNumericNode != null) {
        lowerNumber = lowerNumericNode.getValue();
    } else {
        lowerNumber = null;
    }
    if (upperNumericNode != null) {
        upperNumber = upperNumericNode.getValue();
    } else {
        upperNumber = null;
    }
    final NumericAnalyzer numericAnalyzer = numericRangeNode.getNumericAnalyzer();
    final NumericType numberType = numericRangeNode.getNumericType();
    final String field = numericRangeNode.getField().toString();
    final boolean minInclusive = numericRangeNode.isLowerInclusive();
    final boolean maxInclusive = numericRangeNode.isUpperInclusive();
    final int precisionStep = numericAnalyzer.getPrecisionStep();
    switch(numberType) {
        case LONG:
            return NodeNumericRangeQuery.newLongRange(field, precisionStep, (Long) lowerNumber, (Long) upperNumber, minInclusive, maxInclusive);
        case INT:
            return NodeNumericRangeQuery.newIntRange(field, precisionStep, (Integer) lowerNumber, (Integer) upperNumber, minInclusive, maxInclusive);
        case FLOAT:
            return NodeNumericRangeQuery.newFloatRange(field, precisionStep, (Float) lowerNumber, (Float) upperNumber, minInclusive, maxInclusive);
        case DOUBLE:
            return NodeNumericRangeQuery.newDoubleRange(field, precisionStep, (Double) lowerNumber, (Double) upperNumber, minInclusive, maxInclusive);
        default:
            throw new QueryNodeException(new MessageImpl(QueryParserMessages.UNSUPPORTED_NUMERIC_DATA_TYPE, numberType));
    }
}