public BBoxStrategy(SpatialContext ctx, String fieldNamePrefix) { super(ctx, fieldNamePrefix); field_bbox = fieldNamePrefix; field_minX = fieldNamePrefix + SUFFIX_MINX; field_maxX = fieldNamePrefix + SUFFIX_MAXX; field_minY = fieldNamePrefix + SUFFIX_MINY; field_maxY = fieldNamePrefix + SUFFIX_MAXY; field_xdl = fieldNamePrefix + SUFFIX_XDL; FieldType fieldType = new FieldType(DoubleField.TYPE_NOT_STORED); fieldType.setNumericPrecisionStep(8);//Solr's default fieldType.setDocValuesType(DocValuesType.NUMERIC); setFieldType(fieldType); }
final FieldType type = new FieldType(); type.setNumericPrecisionStep(4); type.setStored(true); type.setIndexed(true); type.setNumericType(FieldType.NumericType.LONG); doc.add(new LongField("BirthDate", parseDate("1969/01/31 16:17:18").getTime(), type));
/** @see #createIndexableFields(com.spatial4j.core.shape.Shape) */ public Field[] createIndexableFields(Point point) { FieldType doubleFieldType = new FieldType(DoubleField.TYPE_NOT_STORED); doubleFieldType.setNumericPrecisionStep(precisionStep); Field[] f = new Field[2]; f[0] = new DoubleField(fieldNameX, point.getX(), doubleFieldType); f[1] = new DoubleField(fieldNameY, point.getY(), doubleFieldType); return f; }
private FieldType getLuceneNumericFieldType(FieldType.NumericType type) { FieldType fieldType = new FieldType(); fieldType.setStored(false); fieldType.setDocValuesType(DocValuesType.NUMERIC); fieldType.setTokenized(true); fieldType.setOmitNorms(true); fieldType.setIndexOptions(IndexOptions.DOCS); fieldType.setNumericType(type); if (type == FieldType.NumericType.FLOAT || type == FieldType.NumericType.INT) { fieldType.setNumericPrecisionStep(NumericUtils.PRECISION_STEP_DEFAULT_32); } fieldType.freeze(); return fieldType; }
type.setNumericPrecisionStep(ffield.precisionStep() != null ? ffield.precisionStep() : NumericUtils.PRECISION_STEP_DEFAULT); } else if (date != null && date instanceof Integer) { field = new IntField(ffield.name(), (Integer) date, type); type.setNumericPrecisionStep(ffield.precisionStep() != null ? ffield.precisionStep() : NumericUtils.PRECISION_STEP_DEFAULT_32); } else { LOGGER.warn("Ignoring field {} as it has a date format but no date", ffield.name()); switch (ffield.numeric()) { case FLOAT: type.setNumericPrecisionStep(ffield.precisionStep() != null ? ffield.precisionStep() : NumericUtils.PRECISION_STEP_DEFAULT_32); field = new FloatField(ffield.name(), Float.parseFloat(value), type); break; case DOUBLE: type.setNumericPrecisionStep(ffield.precisionStep() != null ? ffield.precisionStep() : NumericUtils.PRECISION_STEP_DEFAULT); field = new DoubleField(ffield.name(), Double.parseDouble(value), type); break; case INT: type.setNumericPrecisionStep(ffield.precisionStep() != null ? ffield.precisionStep() : NumericUtils.PRECISION_STEP_DEFAULT_32); field = new IntField(ffield.name(), Integer.parseInt(value), type); break; case LONG: type.setNumericPrecisionStep(ffield.precisionStep() != null ? ffield.precisionStep() : NumericUtils.PRECISION_STEP_DEFAULT); field = new LongField(ffield.name(), Long.parseLong(value), type); break;
public IndexedRootImpl(Root decorated, File fileSystemDirectory) { super(decorated); this.fileSystemDirectory = fileSystemDirectory; identityField = new FieldType(); identityField.setIndexed(true); identityField.freeze(); identityStoreField = new FieldType(); identityStoreField.setIndexed(false); identityStoreField.setDocValueType(FieldInfo.DocValuesType.NUMERIC); identityStoreField.freeze(); classStoreField = new FieldType(); classStoreField.setIndexed(false); classStoreField.setDocValueType(FieldInfo.DocValuesType.BINARY); classStoreField.freeze(); classField = new FieldType(); classField.setIndexed(true); classField.freeze(); coordinateDoubleField = new FieldType(); coordinateDoubleField.setIndexed(true); coordinateDoubleField.setNumericType(FieldType.NumericType.DOUBLE); coordinateDoubleField.setNumericPrecisionStep(4); tagField = new FieldType(); tagField.setIndexed(true); }
public static FieldType fieldType(Properties properties, AbstractType validator) { FieldType fieldType = new FieldType(); fieldType.setIndexOptions(properties.getIndexOptions()); fieldType.setTokenized(properties.isTokenized()); fieldType.setStored(properties.isStored()); fieldType.setStoreTermVectors(properties.isStoreTermVectors()); fieldType.setStoreTermVectorOffsets(properties.isStoreTermVectorOffsets()); fieldType.setStoreTermVectorPayloads(properties.isStoreTermVectorPayloads()); fieldType.setStoreTermVectorPositions(properties.isStoreTermVectorPositions()); fieldType.setOmitNorms(properties.isOmitNorms()); fieldType.setIndexOptions(properties.getIndexOptions()); Fields.setNumericType(validator, fieldType); if (fieldType.numericType() != null) { fieldType.setNumericPrecisionStep(properties.getNumericPrecisionStep()); } return fieldType; }
public static FieldType dynamicFieldType(Properties properties) { FieldType fieldType = new FieldType(); fieldType.setTokenized(properties.isTokenized()); fieldType.setStored(properties.isStored()); fieldType.setStoreTermVectors(properties.isStoreTermVectors()); fieldType.setStoreTermVectorOffsets(properties.isStoreTermVectorOffsets()); fieldType.setStoreTermVectorPayloads(properties.isStoreTermVectorPayloads()); fieldType.setStoreTermVectorPositions(properties.isStoreTermVectorPositions()); fieldType.setOmitNorms(properties.isOmitNorms()); fieldType.setIndexOptions(properties.getIndexOptions()); if (properties.getType().isNumeric()) { switch (properties.getType()) { case integer: fieldType.setNumericType(FieldType.NumericType.INT); break; case bigint: fieldType.setNumericType(FieldType.NumericType.LONG); break; case decimal: fieldType.setNumericType(FieldType.NumericType.FLOAT); break; default: fieldType.setNumericType(FieldType.NumericType.DOUBLE); break; } fieldType.setNumericPrecisionStep(properties.getNumericPrecisionStep()); } return fieldType; }