如何使用Solrj注释索引Lat / Long

时间:2012-07-20 17:13:13

标签: solr geospatial solrj

我有一个对象,我想添加到我使用solrj的@Field注释注释的Solr服务器,但是我找不到任何关于Solr的位置使用什么Java数据类型的文档类型。这是我要添加的Bean:

@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 个答案:

答案 0 :(得分:4)

Java端的适当类型是一个简单的String,其中lat和lon用逗号分隔,例如"1.2,3.4"

答案 1 :(得分:3)

问题的最佳解决方案是,如果您想使用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]);
   }
}