问题描述
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”附件。
解决方案
其实你这个问题在solr官方就说明了, 对于blog字段要转化的详见:Blob values in my table are added to the Solr document as object strings like B@1f23c5The 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 JdbcDataSourceWrite a Transformer which converts the byte[] into a string typeYou can also use a "cast" sql function which can convert the data type from blob to strings if your database provides such a functionNote 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.http://wiki.apache.org/solr/DataImportHandlerFaq#Blob_values_in_my_table_are_added_to_the_Solr_document_as_object_strings_like_B.401f23c5