@Retention(value=RUNTIME) @Target(value={METHOD,FIELD,TYPE}) @Documented @Repeatable(value=Spatials.class) public @interface Spatial
SpatialMode.RANGE approach.
Otherwise, they can be indexed using a spatial hash index. This is known as the
SpatialMode.HASH approach. The size of the grid can be adjusted with topSpatialHashLevel
and bottomSpatialHashLevel.
For more information on which model to use, read the Hibernate Search reference documentation.
If your longitude and latitude information are hosted on free properties,
Add @Spatial on the entity (class-level). The Latitude and Longitude
annotations must mark the properties.
@Entity
@Spatial(name="home")
public class User {
@Latitude(of="home")
public Double getHomeLatitude() { ... }
@Longitude(of="home")
public Double getHomeLongitude() { ... }
}
Alternatively, you can put the latitude / longitude information in a property of
type Coordinates.
@Entity
public class User {
@Spatial
public Coordinates getHome() { ... }
}
| Modifier and Type | Fields and Description |
|---|---|
static String |
COORDINATES_DEFAULT_FIELD
Prefix used to generate field names for a default
Spatial annotation |
| Modifier and Type | Optional Element and Description |
|---|---|
Boost |
boost
Deprecated.
Index-time boosting will not be possible anymore starting from Lucene 7.
You should use query-time boosting instead, for instance by calling
boostedTo(float)
when building queries with the Hibernate Search query DSL. |
int |
bottomSpatialHashLevel |
String |
name
The name of the field prefix where spatial index
information is stored in a Lucene document.
|
SpatialMode |
spatialMode |
Store |
store |
int |
topSpatialHashLevel |
public abstract String name
@Spatial is hosted on a property, defaults to the property name.@Deprecated public abstract Boost boost
boostedTo(float)
when building queries with the Hibernate Search query DSL.Boost annotation defining a float index time boost valuepublic abstract SpatialMode spatialMode
Copyright © 2006-2021 Red Hat, Inc. and others. Licensed under the GNU Lesser General Public License (LGPL), version 2.1 or later.