org.elasticsearch.index.mapper.core.DateFieldMapper Java Examples
The following examples show how to use
org.elasticsearch.index.mapper.core.DateFieldMapper.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: MapperQueryParser.java From Elasticsearch with Apache License 2.0 | 6 votes |
private Query getRangeQuerySingle(String field, String part1, String part2, boolean startInclusive, boolean endInclusive) { currentFieldType = parseContext.fieldMapper(field); if (currentFieldType != null) { if (lowercaseExpandedTerms && !currentFieldType.isNumeric()) { part1 = part1 == null ? null : part1.toLowerCase(locale); part2 = part2 == null ? null : part2.toLowerCase(locale); } try { Query rangeQuery; if (currentFieldType instanceof DateFieldMapper.DateFieldType && settings.timeZone() != null) { DateFieldMapper.DateFieldType dateFieldType = (DateFieldMapper.DateFieldType) this.currentFieldType; rangeQuery = dateFieldType.rangeQuery(part1, part2, startInclusive, endInclusive, settings.timeZone(), null); } else { rangeQuery = currentFieldType.rangeQuery(part1, part2, startInclusive, endInclusive); } return rangeQuery; } catch (RuntimeException e) { if (settings.lenient()) { return null; } throw e; } } return newRangeQuery(field, part1, part2, startInclusive, endInclusive); }
Example #2
Source File: DecayFunctionParser.java From Elasticsearch with Apache License 2.0 | 6 votes |
private AbstractDistanceScoreFunction parseVariable(String fieldName, XContentParser parser, QueryParseContext parseContext, MultiValueMode mode) throws IOException { // now, the field must exist, else we cannot read the value for // the doc later MappedFieldType fieldType = parseContext.fieldMapper(fieldName); if (fieldType == null) { throw new QueryParsingException(parseContext, "unknown field [{}]", fieldName); } // dates and time need special handling parser.nextToken(); if (fieldType instanceof DateFieldMapper.DateFieldType) { return parseDateVariable(fieldName, parser, parseContext, (DateFieldMapper.DateFieldType) fieldType, mode); } else if (fieldType instanceof GeoPointFieldMapper.GeoPointFieldType) { return parseGeoVariable(fieldName, parser, parseContext, (GeoPointFieldMapper.GeoPointFieldType) fieldType, mode); } else if (fieldType instanceof NumberFieldMapper.NumberFieldType) { return parseNumberVariable(fieldName, parser, parseContext, (NumberFieldMapper.NumberFieldType) fieldType, mode); } else { throw new QueryParsingException(parseContext, "field [{}] is of type [{}], but only numeric types are supported.", fieldName, fieldType); } }
Example #3
Source File: LocalWeatherDataMapper.java From ElasticUtils with MIT License | 6 votes |
@Override protected void configureRootObjectBuilder(RootObjectMapper.Builder builder) { builder .add(new DateFieldMapper.Builder("dateTime")) .add(new FloatFieldMapper.Builder("temperature")) .add(new FloatFieldMapper.Builder("windSpeed")) .add(new FloatFieldMapper.Builder("stationPressure")) .add(new StringFieldMapper.Builder("skyCondition")) .add(new ObjectMapper.Builder("station") .add(new StringFieldMapper.Builder("wban")) .add(new StringFieldMapper.Builder("name")) .add(new StringFieldMapper.Builder("state")) .add(new StringFieldMapper.Builder("location")) .add(new GeoPointFieldMapper.Builder("coordinates") .enableLatLon(true) .enableGeoHash(false)) .nested(ObjectMapper.Nested.newNested(true, false))); }
Example #4
Source File: LocalWeatherDataMapper.java From JavaElasticSearchExperiment with MIT License | 6 votes |
@Override protected void configure(RootObjectMapper.Builder builder) { builder .add(new DateFieldMapper.Builder("dateTime")) .add(new FloatFieldMapper.Builder("temperature")) .add(new FloatFieldMapper.Builder("windSpeed")) .add(new FloatFieldMapper.Builder("stationPressure")) .add(new StringFieldMapper.Builder("skyCondition")) .add(new ObjectMapper.Builder("station") .add(new StringFieldMapper.Builder("wban")) .add(new StringFieldMapper.Builder("name")) .add(new StringFieldMapper.Builder("state")) .add(new StringFieldMapper.Builder("location")) .add(new GeoPointFieldMapper.Builder("coordinates") .enableLatLon(true) .enableGeoHash(false)) .nested(ObjectMapper.Nested.newNested(true, false))); }
Example #5
Source File: MapperTestUtils.java From elasticsearch-analysis-baseform with Apache License 2.0 | 6 votes |
private static Map<String, Mapper.TypeParser> registerBuiltInMappers() { Map<String, Mapper.TypeParser> mapperParsers = new LinkedHashMap<>(); mapperParsers.put(ByteFieldMapper.CONTENT_TYPE, new ByteFieldMapper.TypeParser()); mapperParsers.put(ShortFieldMapper.CONTENT_TYPE, new ShortFieldMapper.TypeParser()); mapperParsers.put(IntegerFieldMapper.CONTENT_TYPE, new IntegerFieldMapper.TypeParser()); mapperParsers.put(LongFieldMapper.CONTENT_TYPE, new LongFieldMapper.TypeParser()); mapperParsers.put(FloatFieldMapper.CONTENT_TYPE, new FloatFieldMapper.TypeParser()); mapperParsers.put(DoubleFieldMapper.CONTENT_TYPE, new DoubleFieldMapper.TypeParser()); mapperParsers.put(BooleanFieldMapper.CONTENT_TYPE, new BooleanFieldMapper.TypeParser()); mapperParsers.put(BinaryFieldMapper.CONTENT_TYPE, new BinaryFieldMapper.TypeParser()); mapperParsers.put(DateFieldMapper.CONTENT_TYPE, new DateFieldMapper.TypeParser()); mapperParsers.put(IpFieldMapper.CONTENT_TYPE, new IpFieldMapper.TypeParser()); mapperParsers.put(StringFieldMapper.CONTENT_TYPE, new StringFieldMapper.TypeParser()); mapperParsers.put(TokenCountFieldMapper.CONTENT_TYPE, new TokenCountFieldMapper.TypeParser()); mapperParsers.put(ObjectMapper.CONTENT_TYPE, new ObjectMapper.TypeParser()); mapperParsers.put(ObjectMapper.NESTED_CONTENT_TYPE, new ObjectMapper.TypeParser()); mapperParsers.put(TypeParsers.MULTI_FIELD_CONTENT_TYPE, TypeParsers.multiFieldConverterTypeParser); mapperParsers.put(CompletionFieldMapper.CONTENT_TYPE, new CompletionFieldMapper.TypeParser()); mapperParsers.put(GeoPointFieldMapper.CONTENT_TYPE, new GeoPointFieldMapper.TypeParser()); return mapperParsers; }
Example #6
Source File: ValuesSourceParser.java From Elasticsearch with Apache License 2.0 | 5 votes |
private static ValueFormat resolveFormat(@Nullable String format, @Nullable DateTimeZone timezone, MappedFieldType fieldType) { if (fieldType instanceof DateFieldMapper.DateFieldType) { return format != null ? ValueFormat.DateTime.format(format, timezone) : ValueFormat.DateTime.mapper((DateFieldMapper.DateFieldType) fieldType, timezone); } if (fieldType instanceof IpFieldMapper.IpFieldType) { return ValueFormat.IPv4; } if (fieldType instanceof BooleanFieldMapper.BooleanFieldType) { return ValueFormat.BOOLEAN; } if (fieldType instanceof NumberFieldMapper.NumberFieldType) { return format != null ? ValueFormat.Number.format(format) : ValueFormat.RAW; } return ValueFormat.RAW; }
Example #7
Source File: DecayFunctionParser.java From Elasticsearch with Apache License 2.0 | 5 votes |
private AbstractDistanceScoreFunction parseDateVariable(String fieldName, XContentParser parser, QueryParseContext parseContext, DateFieldMapper.DateFieldType dateFieldType, MultiValueMode mode) throws IOException { XContentParser.Token token; String parameterName = null; String scaleString = null; String originString = null; String offsetString = "0d"; double decay = 0.5; while ((token = parser.nextToken()) != XContentParser.Token.END_OBJECT) { if (token == XContentParser.Token.FIELD_NAME) { parameterName = parser.currentName(); } else if (parameterName.equals(DecayFunctionBuilder.SCALE)) { scaleString = parser.text(); } else if (parameterName.equals(DecayFunctionBuilder.ORIGIN)) { originString = parser.text(); } else if (parameterName.equals(DecayFunctionBuilder.DECAY)) { decay = parser.doubleValue(); } else if (parameterName.equals(DecayFunctionBuilder.OFFSET)) { offsetString = parser.text(); } else { throw new ElasticsearchParseException("parameter [{}] not supported!", parameterName); } } long origin = SearchContext.current().nowInMillis(); if (originString != null) { origin = dateFieldType.parseToMilliseconds(originString, false, null, null); } if (scaleString == null) { throw new ElasticsearchParseException("[{}] must be set for date fields.", DecayFunctionBuilder.SCALE); } TimeValue val = TimeValue.parseTimeValue(scaleString, TimeValue.timeValueHours(24), getClass().getSimpleName() + ".scale"); double scale = val.getMillis(); val = TimeValue.parseTimeValue(offsetString, TimeValue.timeValueHours(24), getClass().getSimpleName() + ".offset"); double offset = val.getMillis(); IndexNumericFieldData numericFieldData = parseContext.getForField(dateFieldType); return new NumericFieldDataScoreFunction(origin, scale, decay, offset, getDecayFunction(), numericFieldData, mode); }
Example #8
Source File: ValueFormatter.java From Elasticsearch with Apache License 2.0 | 4 votes |
public static DateTime mapper(DateFieldMapper.DateFieldType fieldType, DateTimeZone timezone) { return new DateTime(fieldType.dateTimeFormatter(), timezone); }
Example #9
Source File: ValueParser.java From Elasticsearch with Apache License 2.0 | 4 votes |
public static DateMath mapper(DateFieldMapper.DateFieldType fieldType, @Nullable DateTimeZone timezone) { return new DateMath(new DateMathParser(fieldType.dateTimeFormatter()), timezone); }
Example #10
Source File: ValueFormat.java From Elasticsearch with Apache License 2.0 | 4 votes |
public static DateTime mapper(DateFieldMapper.DateFieldType fieldType, DateTimeZone timezone) { return new DateTime(fieldType.dateTimeFormatter().format(), ValueFormatter.DateTime.mapper(fieldType, timezone), ValueParser.DateMath.mapper(fieldType, timezone)); }
Example #11
Source File: TimestampFieldMapper.java From Elasticsearch with Apache License 2.0 | 4 votes |
@Override public DateFieldMapper.DateFieldType fieldType() { return (DateFieldMapper.DateFieldType)fieldType; }
Example #12
Source File: MapperBuilders.java From Elasticsearch with Apache License 2.0 | 4 votes |
public static DateFieldMapper.Builder dateField(String name) { return new DateFieldMapper.Builder(name); }