处理的文档总数= 0,但使用Solr和Oracle数据库获取的总行数不为零

时间:2011-12-23 13:15:54

标签: solr

我正在使用dataImportHandler将数据从Oracle db导入solr。虽然导入和idexing成功但我无法搜索,因为文档没有被创建。日志中也没有错误。这是我的配置文件片段。请帮助。

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

schema.xml中

<types>
    <fieldType name="string" class="solr.StrField" sortMissingLast="true" omitNorms="true"/>
</types> 
<fields>
    <field name="eid" type="string" indexed="true" stored="true" required="true" /> 
    <field name="nm" type="string" indexed="true" stored="true" required="true" />
</fields>
<uniqueKey>eid</uniqueKey>
<defaultSearchField>nm</defaultSearchField>
<solrQueryParser defaultOperator="OR"/>

数据-config.xml中

<dataConfig>  url="jdbc:oracle:thin:@//abc"  user="abc"  password="abc" />
<document name="client">
    <entity name="org" query="select org.code ,org.name from abc org where org_name like 'BB%'">
        <field column="code" name="eid"/>
        <field column="name" name="nm" />
    </entity>
</document>
</dataConfig>

数据导入状态:

<str name="Total Rows Fetched">64</str>
<str name="Total Documents Processed">0</str>    

5 个答案:

答案 0 :(得分:2)

您是否尝试使用DIH development mode进行调试?

答案 1 :(得分:2)

在Solr管理控制台上调试的一些方法(即http://[yourhost]:8983/solr/index.html#/):

  1. 在Dataimport(http://[yourhost]:8983/solr/index.html#/dataimport/)上,选中&#34; Raw Status-Output&#34; &#34;文档总数失败&#34;

      "statusMessages": {
        "Total Requests made to DataSource": "1",
        "Total Rows Fetched": "12966",
        "Total Documents Processed": "0",
        "Total Documents Skipped": "0",
        "Full Dump Started": "2016-08-08 11:15:18",
        "": "Indexing completed. Added/Updated: 0 documents. Deleted 0 documents.",
        "Committed": "2016-08-08 11:15:20",
        **"Total Documents Failed": "12966"**,
        "Time taken": "0:0:2.452"
      }
    
  2. 在管理控制台上,转到&#34;记录&#34; 页面(http://[yourhost]:8983/solr/index.html#/~logging)以查看错误日志。

答案 2 :(得分:0)

转到仪表板上的日志,它将显示进程的状态

image

答案 3 :(得分:0)

在data-config.xml-> entity-> query-> select语句中,必须有“ id”列,即uniquekey字段。

答案 4 :(得分:0)

有同样的问题,日志中没有错误,无法启动调试模式(尚未完成pre-reqs)。对我来说:

在此项目中,我使用的是经过修改的DIH示例项目。我已经为新查询(带有其他字段)更新了solr-data-config.xml数据导入,并且未将字段添加到托管模式。添加该字段并重新启动solr后,它的索引会变好。

如果solr界面中的错误/问题更清楚一点,那就太好了。