SOLR通过dataimport导入oracle数据库数据建立索引,表中含有blob类型的字段,在solrconfig.xml中配置了dataimport请求,data-config.xml文件配置见“data-config.zip”附件,启动solr运行,报“java.lang.RuntimeException: unsupported type : class java.lang.String”的异常,具体见“error.zip”附件。
[code="java"]
其实你这个问题
在solr官方就说明了, 对于blog字段要转化的
详见:
Blob values in my table are added to the Solr document as object strings like B@1f23c5
The problem occurs because blobs are read as a byte array which does not have a useful toString method. The workaround is to:
Use convertType="true" on the JdbcDataSource
Write a Transformer which converts the byte[] into a string type
You can also use a "cast" sql function which can convert the data type from blob to strings if your database provides such a function
Note that "convertType" attribute uses the target schema field's type name to convert the value returned by the result set. Therefore, any transformers being used on the entity should be aware of the type information.