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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用Solrj注释索引Lat / Long相关的知识,希望对你有一定的参考价值。

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

有任何想法吗?

答案

Java端的适当类型是一个简单的String,其中lat和lon由逗号分隔,例如"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]);
   }
}

以上是关于如何使用Solrj注释索引Lat / Long的主要内容,如果未能解决你的问题,请参考以下文章

laravel 如何通过 long 和 lat 找到附近的地方

从 1600 万+ lat/long 获取 FIPS 块代码

将 Lat/Long 转换为状态

如何在 R 中毫无问题地将 Lat-Long 转换为 FIPS 县代码?

如何在 php 中获取当前位置 lat -long 值以便在 android 中使用

Solr09-SolrJ的简介和使用