Ich möchte verschachtelten Dokument indizieren. Ich habe eine Klasse ProductBean Klasse, die 3 String-Typ-Felder und eine Liste des Typs Object hat.Solr Nested Document Indizierung
@Field
String id;
@Field
String tgtKey_;
@Field
String borrowerId;
@Field
List<Car> cars;
Klasse Auto ist wie folgt.
public class Car {
@Field
String model;
@Field
String cc;
public String getModel() {
return model;
}
public void setModel(String model) {
this.model = model;
}
public String getCc() {
return cc;
}
public void setCc(String cc) {
this.cc = cc;
}
}
Unten ist der Code zum Indexieren.
ProductBean bean = new ProductBean("123", "xyz", "23");
List<Car> cars = new ArrayList<Car>();
Car c = new Car();
c.setModel("Pulsar 150");
c.setCc("150");
Car c1 = new Car();
c1.setModel("Desert Strom");
c1.setCc("500");
cars.add(c);
cars.add(c1);
bean.setCars(cars);
server.addBean(bean);
server.commit();
Das Dokument ist indiziert, aber die Daten stimmen nicht. Ich bekomme Daten wie unten.
"docs": [
{
"id": "123",
"tgtKey_": "xyz",
"borrowerId": "23",
"cars": [
"[email protected]",
"[email protected]"
],
"_version_": 1580777018015875000
}
]
Jede Hilfe zu diesem wird sehr geschätzt. Ich bin mit Solr 4.10.3
Ich bin mit Solr 4.10.3, die ich denke, @Field (Kind = true) nicht unterstützt. Ich benutze auch nicht Spring Solr. –
Okay, hab es. es wird später wirklich eingeführt – Mysterion