4

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;

何か案は?

4

2 に答える 2

4

Java 側で適切な型はString、lat と lon の両方をコンマで区切った単純な型です (例: "1.2,3.4".

于 2012-07-20T17:23:21.440 に答える
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]);
   }
}
于 2012-07-21T18:11:12.883 に答える