Я пытаюсь убедить solr выполнить массовый импорт базы данных sqlite. Я следую инструкциям из Solr-Wiki. Я настроил DataImportHandler, чтобы открыть эту базу данных с помощью JDBC успешно, и я могу начать импорт http://localhost:8080/solr/dataimport?command=full-import , но все, что я делаю, DIH не добавили ни одного документа, даже если он кажется индексировать БДDataImportHandler не может добавить/обновить
результат
<str name="command">full-import</str>
<str name="Total Requests made to DataSource">1</str>
<str name="Total Rows Fetched">**14**</str>
<str name="Total Documents Skipped">0</str>
<str name="Full Dump Started">2012-04-06 01:14:30</str>
<str name="">**Indexing completed**. **Added/Updated: 0 documents**. Deleted 0 documents.</str>
<str name="Committed">2012-04-06 01:14:32</str>
<str name="Optimized">2012-04-06 01:14:32</str>
<str name="Total Documents Processed">0</str>
Я использую таблицу EMP в Oracle DB
данных-config.xml
<dataConfig>
<dataSource name="jdbc" driver="oracle.jdbc.driver.OracleDriver" url="jdbc:oracle:thin:@//localhost:1521/ORCL" user="scott" password="tiger"/>
<document>
<entity name="emp" query="select EMPNO, ENAME from EMP">
<field column="EMPNO" name="empno" />
<field column="ENAME" name="ename" />
</entity>
</document>
</dataConfig>
schema.xml
<field name="empno" type="int" indexed="true" stored="true"/>
<field name="ename" type="string" indexed="true" stored="true"/>
Это, кажется, не индекс, а не к хранимым индексированных данных
Любые идеи, почему эта проблема случается?
EDIT 1 Log показать предупреждающее сообщение как ..
WARNING: Error creating document : SolrInputDocument[{ename=ename(1.0)={SMITH}, empno=empno(1.0)={7369}}]
org.apache.solr.common.SolrException: [doc=null] missing required field: id
at org.apache.solr.update.DocumentBuilder.toDocument(DocumentBuilder.java:346)
at org.apache.solr.update.processor.RunUpdateProcessor.processAdd(RunUpdateProcessorFactory.java:60)
at org.apache.solr.update.processor.LogUpdateProcessor.processAdd(LogUpdateProcessorFactory.java:115)
at org.apache.solr.handler.dataimport.SolrWriter.upload(SolrWriter.java:73)
at org.apache.solr.handler.dataimport.DataImportHandler$1.upload(DataImportHandler.java:293)
at org.apache.solr.handler.dataimport.DocBuilder.buildDocument(DocBuilder.java:636)
at org.apache.solr.handler.dataimport.DocBuilder.doFullDump(DocBuilder.java:268)
at org.apache.solr.handler.dataimport.DocBuilder.execute(DocBuilder.java:187)
at org.apache.solr.handler.dataimport.DataImporter.doFullImport(DataImporter.java:359)
at org.apache.solr.handler.dataimport.DataImporter.runCmd(DataImporter.java:427)
at org.apache.solr.handler.dataimport.DataImporter$1.run(DataImporter.java:408)
такого рода журнал следовал и
это предупреждение появляется конец бревна
2012. 4. 6 오후 12:12:25 org.apache.solr.update.processor.LogUpdateProcessor finish
INFO: {deleteByQuery=*:*,add=[(null), (null), (null), (null), (null), (null), (null), (null), ... (14 adds)],optimize=} 0 0
I мысль отсутствует требуемое поле: id имеет некоторое отношение остроумие ч конфигурация в schema.xml
<uniqueKey>id</uniqueKey>
, но после удаления, я получил это сообщение
HTTP Status 500 - серьезные ошибки в конфигурации Solr. Проверьте свои файлы журналов для получения более подробной информации о том, что может быть неправильным. Если вы хотите, чтобы solr продолжался после ошибок конфигурации, измените: false в файле solr.xml --------------------------------- ---------------------------- org.apache.solr.common.SolrException: QueryElevationComponent требует, чтобы схема имела уникальныйKeyField, реализованный с использованием StrField в org.apache.solr.handler.component.QueryElevationComponent.inform (QueryElevationComponent.java:158) на org.apache.solr.core.SolrResourceLoader.inform
Любой совет?
Каталог журналов, чтобы увидеть, если DIH выдает ошибку. Else используйте подробный вывод в консоли DataImportHandler Development Console, чтобы узнать, что произойдет. –
спасибо! Я получил сообщение журнала, но все еще не знал, как это исправить. Любой совет? – John
У меня есть ответ. удалите, в schema.xml и в поискКомпонента имя = лифт в файле solrconfig.xml. спасибо!! –
John