1
我的班級無法在ElasticSearch 1.7.3指數GeoPoints與Java API
package be.smartask.data;
import be.smartask.core.api.Language;
import org.elasticsearch.common.geo.GeoPoint;
import java.util.Date;
import java.util.Map;
/**
* @author Glenn Van Schil
* Created on 26/01/2016
*/
public class CityValue extends Value {
private int radius;
private Map<Language, String> translations;
private GeoPoint geoPoint;
private Suggest suggest;
public CityValue() {
}
public CityValue(Date createdOn, String id, Date lastUpdatedOn, String fieldId, String projectId, String userId, GeoPoint geoPoint, int radius, Suggest suggest, Map<Language, String> translations) {
super(createdOn, id, lastUpdatedOn, fieldId, projectId, userId);
this.geoPoint = geoPoint;
this.radius = radius;
this.suggest = suggest;
this.translations = translations;
}
public GeoPoint getGeoPoint() {
return geoPoint;
}
public void setGeoPoint(GeoPoint geoPoint) {
this.geoPoint = geoPoint;
}
public void setGeoPoint(double lat, double lon) {
this.geoPoint = new GeoPoint(lat, lon);
}
public int getRadius() {
return radius;
}
public void setRadius(int radius) {
this.radius = radius;
}
public Suggest getSuggest() {
return suggest;
}
public void setSuggest(Suggest suggest) {
this.suggest = suggest;
}
public Map<Language, String> getTranslations() {
return translations;
}
public void setTranslations(Map<Language, String> translations) {
this.translations = translations;
}
}
我映射
{
"cityvalue": {
"dynamic_templates": [{
"notanalyzed": {
"match": "*",
"match_mapping_type": "string",
"mapping": {
"type": "string",
"index": "not_analyzed"
}
}
}],
"properties": {
"createdOn": {
"type": "date",
"format": "date_hour_minute_second"
},
"lastUpdatedOn": {
"type": "date",
"format": "date_hour_minute_second"
},
"suggest": {
"type": "completion",
"preserve_separators": false,
"index_analyzer": "simple",
"search_analyzer": "simple",
"payloads": false
},
"geoPoint": {
"type": "geo_point"
}
}
}
}
當我試圖索引該對象出現以下錯誤
org.elasticsearch.ElasticsearchParseException:字段必須是緯度/經度或地理輪廓
爲什麼會拋出這個錯誤,我該如何解決這個問題?
我一直使用Spring的數據與彈性也有一個GeoPoint對象和它工作得很好用相同的映射,但因爲我刪除春季數據,我不得不從 org.springframework.data切換互動.elasticsearch.core.geo.GeoPoint到org.elasticsearch.common.geo.GeoPoint