使用Apache NiFi向Solr 9导入含特殊字符的字符串字段报错求助
解决Solr导入带";+"特殊字符字段的NumberFormatException问题
问题根源:出现
NumberFormatException是因为Solr将该字段识别为数字类型,但字段值包含非数字字符(";+"),导致转换失败,和Tokenizer无关。解决方案:
- 修正Solr字段类型配置
打开Solr的managed-schema(或schema.xml),找到对应字段的定义,确保字段类型为字符串类(比如string、text_general),而非int、long等数字类型。例如:
修改后重启Solr,重新执行数据导入。<field name="your_field_name" type="text_general" indexed="true" stored="true"/> - 确认NiFi数据传递类型
在NiFi的数据流中,确保从Oracle抽取该字段时以字符串格式传递给Solr。比如在PutSolrContentStream处理器中,字段映射不要设置为数字类型,保持原始字符串格式。 - 验证查询能力
导入完成后,直接查询该字段的完整值(如77777383;+4377777383),或使用分词查询(如果用text_general类型),确认可以正常返回结果。
- 修正Solr字段类型配置
内容的提问来源于stack exchange,提问作者emajar
相关产品推荐
相关产品推荐

