GeoPointV2 update docs and query builders
This commit updates the documentation for GeoPointField by removing all references to the coerce and doc_values parameters. DocValues are enabled in lucene GeoPointField by default (required for boundary filtering). The QueryBuilders are updated to automatically normalize points (ignoring the coerce parameter) for any index created onOrAfter version 2.2.
This commit is contained in:
parent
38241a5d8b
commit
61f39e6c92
|
@ -250,7 +250,8 @@ public class GeoBoundingBoxQueryBuilder extends AbstractQueryBuilder<GeoBounding
|
|||
|
||||
GeoPoint luceneTopLeft = new GeoPoint(topLeft);
|
||||
GeoPoint luceneBottomRight = new GeoPoint(bottomRight);
|
||||
if (GeoValidationMethod.isCoerce(validationMethod)) {
|
||||
final Version indexVersionCreated = context.indexVersionCreated();
|
||||
if (indexVersionCreated.onOrAfter(Version.V_2_2_0) || GeoValidationMethod.isCoerce(validationMethod)) {
|
||||
// Special case: if the difference between the left and right is 360 and the right is greater than the left, we are asking for
|
||||
// the complete longitude range so need to set longitude to the complete longitude range
|
||||
double right = luceneBottomRight.getLon();
|
||||
|
@ -265,7 +266,6 @@ public class GeoBoundingBoxQueryBuilder extends AbstractQueryBuilder<GeoBounding
|
|||
}
|
||||
}
|
||||
|
||||
final Version indexVersionCreated = context.indexVersionCreated();
|
||||
if (indexVersionCreated.onOrAfter(Version.V_2_2_0)) {
|
||||
// if index created V_2_2 use (soon to be legacy) numeric encoding postings format
|
||||
// if index created V_2_3 > use prefix encoded postings format
|
||||
|
|
|
@ -219,18 +219,18 @@ public class GeoDistanceQueryBuilder extends AbstractQueryBuilder<GeoDistanceQue
|
|||
throw new QueryShardException(shardContext, "field [" + fieldName + "] is not a geo_point field");
|
||||
}
|
||||
|
||||
final Version indexVersionCreated = shardContext.indexVersionCreated();
|
||||
QueryValidationException exception = checkLatLon(shardContext.indexVersionCreated().before(Version.V_2_0_0));
|
||||
if (exception != null) {
|
||||
throw new QueryShardException(shardContext, "couldn't validate latitude/ longitude values", exception);
|
||||
}
|
||||
|
||||
if (GeoValidationMethod.isCoerce(validationMethod)) {
|
||||
if (indexVersionCreated.onOrAfter(Version.V_2_2_0) || GeoValidationMethod.isCoerce(validationMethod)) {
|
||||
GeoUtils.normalizePoint(center, true, true);
|
||||
}
|
||||
|
||||
double normDistance = geoDistance.normalize(this.distance, DistanceUnit.DEFAULT);
|
||||
|
||||
final Version indexVersionCreated = shardContext.indexVersionCreated();
|
||||
if (indexVersionCreated.before(Version.V_2_2_0)) {
|
||||
GeoPointFieldMapperLegacy.GeoPointFieldType geoFieldType = ((GeoPointFieldMapperLegacy.GeoPointFieldType) fieldType);
|
||||
IndexGeoPointFieldData indexFieldData = shardContext.getForField(fieldType);
|
||||
|
|
|
@ -236,7 +236,7 @@ public class GeoDistanceRangeQueryBuilder extends AbstractQueryBuilder<GeoDistan
|
|||
}
|
||||
|
||||
GeoPoint point = new GeoPoint(this.point);
|
||||
if (GeoValidationMethod.isCoerce(validationMethod)) {
|
||||
if (indexCreatedBeforeV2_2 == false || GeoValidationMethod.isCoerce(validationMethod)) {
|
||||
GeoUtils.normalizePoint(point, true, true);
|
||||
}
|
||||
|
||||
|
|
|
@ -131,13 +131,13 @@ public class GeoPolygonQueryBuilder extends AbstractQueryBuilder<GeoPolygonQuery
|
|||
}
|
||||
}
|
||||
|
||||
if (GeoValidationMethod.isCoerce(validationMethod)) {
|
||||
final Version indexVersionCreated = context.indexVersionCreated();
|
||||
if (indexVersionCreated.onOrAfter(Version.V_2_2_0) || GeoValidationMethod.isCoerce(validationMethod)) {
|
||||
for (GeoPoint point : shell) {
|
||||
GeoUtils.normalizePoint(point, true, true);
|
||||
}
|
||||
}
|
||||
|
||||
final Version indexVersionCreated = context.indexVersionCreated();
|
||||
if (indexVersionCreated.before(Version.V_2_2_0)) {
|
||||
IndexGeoPointFieldData indexFieldData = context.getForField(fieldType);
|
||||
return new GeoPolygonQuery(indexFieldData, shell.toArray(new GeoPoint[shellSize]));
|
||||
|
|
|
@ -101,17 +101,6 @@ The following parameters are accepted by `geo_point` fields:
|
|||
|
||||
[horizontal]
|
||||
|
||||
<<coerce,`coerce`>>::
|
||||
|
||||
Normalize longitude and latitude values to a standard -180:180 / -90:90
|
||||
coordinate system. Accepts `true` and `false` (default).
|
||||
|
||||
<<doc-values,`doc_values`>>::
|
||||
|
||||
Should the field be stored on disk in a column-stride fashion, so that it
|
||||
can later be used for sorting, aggregations, or scripting? Accepts `true`
|
||||
(default) or `false`.
|
||||
|
||||
<<geohash,`geohash`>>::
|
||||
|
||||
Should the geo-point also be indexed as a geohash in the `.geohash`
|
||||
|
|
|
@ -52,9 +52,6 @@ Then the following simple query can be executed with a
|
|||
|Option |Description
|
||||
|`_name` |Optional name field to identify the filter
|
||||
|
||||
|`coerce` |Set to `true` to normalize longitude and latitude values to a
|
||||
standard -180:180 / -90:90 coordinate system. (default is `false`).
|
||||
|
||||
|`ignore_malformed` |Set to `true` to
|
||||
accept geo points with invalid latitude or longitude (default is `false`).
|
||||
|
||||
|
|
|
@ -162,11 +162,6 @@ The following are options allowed on the filter:
|
|||
|
||||
Optional name field to identify the query
|
||||
|
||||
`coerce`::
|
||||
|
||||
Set to `true` to normalize longitude and latitude values to a standard -180:180 / -90:90
|
||||
coordinate system. (default is `false`).
|
||||
|
||||
`ignore_malformed`::
|
||||
|
||||
Set to `true` to accept geo points with invalid latitude or
|
||||
|
|
|
@ -34,9 +34,6 @@ points. Here is an example:
|
|||
|Option |Description
|
||||
|`_name` |Optional name field to identify the filter
|
||||
|
||||
|`coerce` |Set to `true` to normalize longitude and latitude values to a
|
||||
standard -180:180 / -90:90 coordinate system. (default is `false`).
|
||||
|
||||
|`ignore_malformed` |Set to `true` to accept geo points with invalid latitude or
|
||||
longitude (default is `false`).
|
||||
|=======================================================================
|
||||
|
|
Loading…
Reference in New Issue