赞
踩
spring-data-elasticsearch 4.0以上版本
使用ElasticsearchRestTemplate的时候没有使用正确姿势映射到ES,导致geo字段类型为float。度娘个遍也没有解决问题。最后在stack overflow上解决了问题,故发出我的第一篇文章,希望能够帮到他人。
- //可以使用String,数组和GeoPoint类型。具体如何实现可以百度,这个可以找到很多
- @GeoPointField
- private GeoPoint location;
- //直接save()或者create()之后没有操作geo_point就会映射失败
- private void createIndex() {
- AnnotatedTypeScanner scanner = new AnnotatedTypeScanner(false, Document.class);
- for (Class clazz : scanner.findTypes("com.xxx.es.model")) {
- Document doc = AnnotationUtils.findAnnotation(clazz, Document.class);
- assert doc != null;
- IndexOperations ops = elasticsearchRestTemplate.indexOps(clazz);
- if (ops.exists()) ops.delete();
- ops.create();
- ops.refresh();
- ops.putMapping(ops.createMapping());
- }
- }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。