我正在使用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>
答案 0 :(得分:2)
您是否尝试使用DIH development mode进行调试?
答案 1 :(得分:2)
在Solr管理控制台上调试的一些方法(即http://[yourhost]:8983/solr/index.html#/):
在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"
}
在管理控制台上,转到&#34;记录&#34; 页面(http://[yourhost]:8983/solr/index.html#/~logging)以查看错误日志。
答案 2 :(得分:0)
转到仪表板上的日志,它将显示进程的状态
答案 3 :(得分:0)
在data-config.xml-> entity-> query-> select语句中,必须有“ id”列,即uniquekey字段。
答案 4 :(得分:0)
有同样的问题,日志中没有错误,无法启动调试模式(尚未完成pre-reqs)。对我来说:
在此项目中,我使用的是经过修改的DIH示例项目。我已经为新查询(带有其他字段)更新了solr-data-config.xml数据导入,并且未将字段添加到托管模式。添加该字段并重新启动solr后,它的索引会变好。
如果solr界面中的错误/问题更清楚一点,那就太好了。