Как использовать аннотации 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]);
   }
}
Другие вопросы по тегам