solr中的NumberFormatException

时间:2017-03-23 14:30:55

标签: 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

正确解析了两个第一行,但第三行给出了错误:

<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无法解析我的y值“6559577.8”。但在前面的行中,x值具有相同的格式。如果我删除“.8”,则解析该行。 y值有什么问题?我应该在某处指定格式吗?

2 个答案:

答案 0 :(得分:3)

该值的字段def是什么?

前两行没有点值,所以如果你使用无模式模式,Solr会将该字段映射到一个int / long,然后在第一次找到一个浮点数时失败。

答案 1 :(得分:1)

实际上,第一行的y值为整数,因此solr将其映射为整数。我为第一行创建了另一个带浮点值的集合,它没问题