2016-05-13 12 views
0

Ich habe eine Klasse namens Node und ich möchte alle Node Objekte Daten Solr Beans Funktionalität solr senden.Solr Bohnenfelder funktioniert nicht

hatte ich schon alle Felder in schema.xml definiert, aber es gibt ein (Feld Beschreibung), die nicht in solr indiziert ist, und ich verstehe nicht, warum.

meine Klasse (Modell):

import com.avaje.ebean.Model; 
import org.apache.solr.client.solrj.beans.Field; 
public class Node extends Model { 
    @Id 
    @Field("id) 
    public long id; 

    @Constraints.Required 
    @Field("code") 
    public String code; 

    @Field("name") 
    public String name; 

    @Lob //support big strings (bigger than varchar(255) in db 
    @Field("description") 
    public String description; 
} 

Index Knoten Objekte:

SolrClient solrClient = new HttpSolrClient(url); 
solrClient.addBeans(Node.find.all()); 
solrClient.commit(); //try catchs ... 

meine Felder in schema.xml

<field name="id" type="string" indexed="true" stored="true" required="true" multiValued="false" /> 
<field name="_version_" type="long" indexed="true" stored="false"/> 
<field name="antecessorNodeCode" type="text_pt" indexed="false" stored="true" multiValued="false"/> 
<field name="code" type="text_pt" indexed="true" stored="true" multiValued="false"/> 
<field name="name" type="text_pt" indexed="true" stored="true" multiValued="false"/> 
<field name="description" type="text_pt" indexed="true" stored="true" multiValued="false"/> 
<field name="includeEvents" type="text_pt" indexed="true" stored="true" multiValued="true"/> 
<field name="excludeEvents" type="text_pt" indexed="true" stored="true" multiValued="true"/> 

Kann jemand den Fehler hier erkennen?

+0

Fügen Sie zur besseren Übersichtlichkeit Importe für die anderen Anmerkungen hinzu. –

Antwort

0

Ich bemerke den Fehler, Ich habe versucht, ein BLOB (@Lob) in einem Feld mit type="text_pt zu speichern, und sie sind verschiedene Typen. So oder ich erstelle ein Feld, das Blob (Binär) unterstützt oder ich kann einen größeren String in der db @Column(length = 750) akzeptieren und mit dem gleichen Feldtyp bleiben.