Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Oracle 索尔克隆转运体_Oracle_Solr_Clob_Dataimporthandler - Fatal编程技术网

Oracle 索尔克隆转运体

Oracle 索尔克隆转运体,oracle,solr,clob,dataimporthandler,Oracle,Solr,Clob,Dataimporthandler,在过去的3天里,我一直在solr使用ClobTransformer。我想在solr中将oracle clob字段转换为文本字段。我使用多个核心,我从头开始创建配置和模式文件 这是我的配置文件: <lib dir="../../../dist/" regex="apache-solr-dataimporthandler-.*\.jar" /> <requestHandler name="/dataimport" class="org.apache.solr.handler.da

在过去的3天里,我一直在solr使用
ClobTransformer
。我想在solr中将oracle clob字段转换为文本字段。我使用多个核心,我从头开始创建配置和模式文件

这是我的配置文件:

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

data-config.xml
以下是核心架构文件中的列:

<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
,我在控制台中没有看到任何错误,也没有看到与transformer或clob相关的任何内容。因此,如果我在transformer参数(transformer=“bla bla bla”)中键入任何内容,它不会在控制台中抛出任何错误,这可能意味着我的transformer参数被完全忽略,或者完全日志记录被关闭

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


任何想法都很感激

看来
断路变压器
没有启动。我会亲自更改查询中的
mandp
列名,如下所示:

Select t.id as id, t.mandp as mandp From table1 t

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

我将查询更改为“从表1中选择id,mandp”。这没什么区别。发现发生了什么,是列大小写不匹配。Oracle将id转换为id,将mandp转换为mandp。因此,字段匹配从未找到,因此没有应用clob=“true”(我知道在solr情况下必须匹配,但我忘了oracle会默认将所有列转换为大写)是的,你说得对,我也忘了。我还没走那么远…一定是和列名有关。