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

问题描述 投票:4回答:2

我有一个对象,我想添加到我使用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;

有任何想法吗?

solr geospatial solrj
2个回答
4
投票

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


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]);
   }
}
© www.soinside.com 2019 - 2024. All rights reserved.