Solr对数据库中的CLOB字段建立索引的问题

对于oracl中的clob字段,solr建立索引时,如果没有作处理,否则会展示成这样。

<content>oracle.sql.CLOB@1723c20</content>


需要在db-data-config.xml中加入如下红色的部分:

transformer="ClobTransformer"

<field column="CONTENT" name="content" clob="true" />

<dataConfig>
    <dataSource type="JdbcDataSource" name="jdbc" driver="oracle.jdbc.driver.OracleDriver"
              url="jdbc:oracle:thin:@//*.*.*.*:port/orcl" user="root" password="root"/>
    <document>
        <entity name="item" transformer="ClobTransformer" query="select ID as id,NAME as name,PRICE as price,
                             SUMMARY as summary,CONTENT as content from BOOK"
            <field column="CONTENT" name="content" clob="true" />
        </entity>
    </document>
</dataConfig>


这个field的column一定要写成大写的CONTENT,要不然转换不了。

在schema.xml中添加需要检索的field

<fields>
        <field name="id" type="string" indexed="true" stored="true" required="true" />
        <field name="name" type="textMaxWord_cn" indexed="true" stored="true" />
        <field name="price" type="long" indexed="true" stored="true" />
        <field name="summary" type="textMaxWord_cn" indexed="true" stored="true" />
        <field name="content" type="textMaxWord_cn" indexed="true" stored="true" />
        <field name="searchText" type="textMaxWord_cn" indexed="true" stored="false" multiValued="true" />
 </fields>

 <uniqueKey>id</uniqueKey>
 <defaultSearchField>searchText</defaultSearchField>
 <solrQueryParser defaultOperator="AND" />
 <copyField source="name" dest="searchText" />
 <copyField source="summary" dest="searchText" />
 <copyField source="content" dest="searchText" />



  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值