Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/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
Total Documents Processed=0,但使用Solr和Oracle数据库获取的总行数不为零_Solr - Fatal编程技术网

Total Documents Processed=0,但使用Solr和Oracle数据库获取的总行数不为零

Total Documents Processed=0,但使用Solr和Oracle数据库获取的总行数不为零,solr,Solr,我正在使用dataImportHandler将数据从Oracle db导入solr。虽然导入和识别成功,但由于未创建文档,我无法搜索。日志中也没有错误。以下是我的配置文件片段。请帮忙 <requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler"> <lst name="defaults"> <str name="

我正在使用dataImportHandler将数据从Oracle db导入solr。虽然导入和识别成功,但由于未创建文档,我无法搜索。日志中也没有错误。以下是我的配置文件片段。请帮忙

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

开斋节
纳米
data-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>
url=“jdbc:oracle:thin:@//abc”user=“abc”password=“abc”/
数据导入状态:

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

您是否尝试过在Solr管理控制台上调试它?

一些调试方法(例如):

  • 在Dataimport()上,检查“原始状态输出”中的“文档总数失败”:

      "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"
      }
    
  • 在管理控制台上,转到“日志记录”页面()以查看错误日志


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


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

    有相同的问题,日志中没有错误,无法启动调试模式(没有完成预请求)。对我来说:

    在这个项目中,我使用了一个修改后的DIH示例项目。我已经为新查询更新了solr-data-config.xml数据导入(带有附加字段),并且没有将该字段添加到托管架构中。添加该字段并重新启动solr后,该字段索引良好


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

    感谢Jem的快速回复。如果这是您告诉我的,并且在我的控制台上看到以下错误,那么我尝试了类似的方法。2011-12-26 08:42:24.638:警告::/solr/dataimport java.lang.IllegalStateException:在org.mortbay.jetty.Response.resetBuffer(Response.java:1023)在org.mortbay.jetty.Response.senderro(Response.java:240)提交:在500 null | | org.mortbay.jetty.EofExceptionHi之前提交。我现在再试了一次,但是现在我没有看到我提到的错误,但是处理的文档总数仍然是0。现在对我来说它工作正常。看起来数据配置文件中的列名应该是大写的,因为Oracle以这种方式返回。solr中的dashboard