Как использовать аннотации Solrj для индексации Lat/Long
У меня есть объект, который я хочу добавить на свой сервер Solr, который я аннотировал с помощью аннотации solrj @Field, но я не могу найти никакой документации о том, какой тип данных Java использовать для типа местоположения Solr. Вот мой боб, который я хочу добавить:
@Field
private UUID id;
@Field
LatLonType location; // what should the Java data type of this field be???
@Field
private EventType eventType;
@Field
private int maxCapacity;
@Field
private int minCapacity;
@Field
private double price;
@Field
private Date startDate;
@Field
private Date endDate;
Есть идеи?
2 ответа
Решение
Соответствующий тип на стороне Java является простым String
с лат и лон, разделенных запятой, например "1.2,3.4"
,
Лучшее решение этой проблемы - если вы хотите использовать метод (ы) addBean(), вы должны создать свойство для объекта и аннотировать его следующим образом:
public class MyBean {
private double latitude;
private double longitude;
public String getLocation() {
return latitude + "," + longitude;
}
@Field
public void setLocation( String value ) {
String[] split = value.split(",");
latitude = Double.parseDouble(split[0]);
longitude = Double.parseDouble(split[1]);
}
}