ElasticSearch - 地理位置阵列上的空间搜索
问题描述:
我正在创建两种类型的餐厅和分支与春季数据的索引。餐厅有许多分店作为嵌套式。当我创建这个映射时,Spring Data/ElasticSearch自动将分支类型内的位置字段转换为纬度,经度数组,因此地理空间查询是不可能的。这里是:ElasticSearch - 地理位置阵列上的空间搜索
我想要在地理空间搜索的branch.location执行搜索,但弹性搜索不处理位置作为地点,而是一个字符串数组,因此这是不可能的,请建议我需要什么做什么或哪里出错。
class Restaurant {
@Field(type = FieldType.Nested)
private List<Branch> branches = new ArrayList<Branch>();
}
class Branch {
private GeoPoint location;
}
答
确保您使用的
org.springframework.data.elasticsearch.core.geo.GeoPoint
而且不
org.elasticsearch.common.geo。 GeoPoint
或者(也许更好),定义mappin g,而不是让spring/elasticsearch为你做。