4

ClobTransformer从过去的 3 天开始,我被困在 solr 中。我想将 oracle clob 字段转换为 solr 中的文本字段。我正在使用多个内核,并且从头开始我的配置和模式文件。

这是我的配置文件:

<lib dir="../../../dist/" regex="apache-solr-dataimporthandler-.*\.jar" />

<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
    <lst name="defaults">
        <str name="config">data-config.xml</str>
    </lst>
</requestHandler>

这些是我的架构文件中的核心列:

<field name="id" type="string" indexed="true" stored="true" multiValued="false" required="true"/>
<field name="mandp" type="text_en_splitting" indexed="true" stored="true" multiValued="false" />

这是我的核心 data-config.xml:

<dataConfig>
  <dataSource type="JdbcDataSource" 
              driver="oracle.jdbc.driver.OracleDriver"
              url="jdbc:oracle:thin:@***" 
              user="***"
              password="****"/>
    <document>
        <entity name="wiki" transformer="ClobTransformer"
                 query="Select t.id as id, t.mandp From table1 t">
            <field column="mandp" name="mandp" clob="true" />
        </entity>
    </document>
</dataConfig>

当我启动 solr 时,我可以在控制台中看到 dataimporthandler*.jar 文件已成功加载。当我从 运行我的数据导入时http://localhost:8983/solr/wiki/dataimport?command=full-import&clean=false,我在控制台中看不到任何错误,也看不到与变压器或 clob 相关的任何内容。所以,如果我在我的转换器参数(transformer="bla bla bla")中输入任何内容,它不会在控制台中引发任何错误,这可能意味着我的转换器参数被完全忽略或完整的日志记录被关闭。

当我查询 solr 时,我在 mandp 字段中看到了oracle.sql.CLOB@375c929a 。如果我也使用 HTMLStripTransformer 类,当然什么也不会发生。我想在这个领域使用两者。

任何想法表示赞赏!

4

2 回答 2

4

看起来ClobTransformer没有被解雇。我会亲自更改mandp查询中的列名,如下所示:

Select t.id as id, t.mandp as mandp From table1 t
于 2011-12-20T22:22:01.047 回答
-1

请将transformer="ClobTransformer, RegexTransformer" 添加到您的data-config.xml 文件中的实体中

于 2014-11-14T03:47:28.667 回答