liguotao429
2014-05-21 15:37 阅读 323

Solr配置Blob字段报错

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”附件。

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

1条回答 默认 最新

  • 已采纳
    leehuat leehuat 2014-05-21 15:56

    [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.

    http://wiki.apache.org/solr/DataImportHandlerFaq#Blob_values_in_my_table_are_added_to_the_Solr_document_as_object_strings_like_B.401f23c5
    [/code]

    点赞 评论 复制链接分享

相关推荐