2017-03-23 5 views
0

Ich habe eine Datei mehrere Informationen enthalten (in Französisch):Number in solr

id,nom_voie,id_fantoir,numero,rep,code_insee,code_post,alias,nom_ld,nom_afnor,libelle_acheminement,x,y,lon,lat,nom_commune 
ADRNIVX_0000000285796714,,B029,5269,"",01294,01300,"",FAY,,PEYRIEU,907611.7,6510483,5.66671358522653,45.6623440803523,Peyrieu 
ADRNIVX_0000000285615528,,B072,5203,"",01104,01200,"",LE CREUX,,CHEZERY FORENS,919429.7,6567424,5.84472395497885,46.1710686783583,Chézery-Forens 
ADRNIVX_0000000285665373,,A020,6,"",01335,01240,"","",,ST ANDRE LE BOUCHOUX,860345.8,6559577.8,5.07649444520238,46.1170232380819,Saint-André-le-Bouchoux 

Die beiden ersten Linien werden korrekt analysiert, aber der dritte einen Fehler geben:

<response> 
    <lst name="responseHeader"> 
     <int name="status">400</int> 
     <int name="QTime">53</int> 
    </lst> 
    <lst name="error"> 
     <lst name="metadata"> 
      <str name="error-class">org.apache.solr.common.SolrException</str> 
      <str name="root-error-class">java.lang.NumberFormatException</str> 
     </lst> 
     <str name="msg">ERROR: [doc=ADRNIVX_0000000285665373] Error adding field 'y'='6559577.8' msg=For input string:  "6559577.8"</str> 
     <int name="code">400</int> 
    </lst> 
</response> 

Solr können 't parse meinen y-Wert "6559577.8". Aber in den vorherigen Zeilen hat der x-Wert das gleiche Format. Wenn ich die ".8" ​​entferne, wird die Zeile analysiert. Was stimmt nicht mit dem y-Wert? Sollte ich irgendwo ein Format angeben?

+0

gibt es eine Chance, dass Sie jeden Wert verpassen, das könnte die Ursache für die Nummer Format Ausnahme sein .... Wie ich sehe, die dritte hat ein fehlender Wert .. –

+0

@AbhijitBashetti Nein, ich denke nicht, alle Werte sind hier – Eko

Antwort

0

In der Tat hatte die erste Zeile eine Ganzzahl für den y-Wert, so dass sie in einer ganzen Zahl abgebildet wurde. Ich habe eine andere Sammlung mit einem Float-Wert für die erste Zeile erstellt und es war in Ordnung

2

Was ist das Feld def für diesen Wert?

In den vorherigen zwei Zeilen gab es keinen Punktwert. Wenn Sie also den schemalosen Modus verwenden, hätte Solr dieses Feld einem int/long zugeordnet, dann schlägt es fehl, wenn es zum ersten Mal einen Float findet.