【问题标题】:ElasticSearch - Geo Spatial search on location arrayElasticSearch - 位置数组的地理空间搜索
【发布时间】:2017-11-17 23:11:02
【问题描述】:

我正在使用 Spring Data 创建具有两种类型 Restaurant 和 Branch 的索引。餐厅有许多嵌套类型的分支。当我创建此映射时,Spring Data / ElasticSearch 会自动将 Branch 类型内的 location 字段转换为 latitude 、 longitude 数组,因此无法进行地理空间查询。这里是:

我想在 branch.location 上执行地理空间搜索,但弹性搜索不会将位置视为地理点,而是字符串数组,因此不可能,请建议我需要做什么或我在哪里搞错了。

class Restaurant {
    @Field( type = FieldType.Nested)
    private List<Branch> branches = new ArrayList<Branch>();
}

class Branch {
   private GeoPoint location;
}

【问题讨论】:

    标签: elasticsearch geolocation spring-data-elasticsearch


    【解决方案1】:

    确保你正在使用

    org.springframework.data.elasticsearch.core.geo.GeoPoint

    不是

    org.elasticsearch.common.geo.GeoPoint

    或者(也许更好),自己定义映射,而不是让 spring/elasticsearch 为您做。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-11-23
      • 2011-03-15
      • 2017-03-01
      • 2012-07-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多