I am testing out DataImportHandler (Nightly 08-18-2008) in our environment
with a simple schema. One database view with 10 columns mapped to an index
in Solr. When running the full-import command, I get the error below for
each row. I'm sure I'm missing something, but I can't figure it out.
WARNING: Error creating document : SolrInputDocumnt[{}]
org.apache.solr.common.SolrException: Document [null] missing required
field: id
at
org.apache.solr.update.DocumentBuilder.toDocument(DocumentBuilder.java:289)
at
org.apache.solr.update.processor.RunUpdateProcessor.processAdd(RunUpdateProcessorFactory.java:58)
at
org.apache.solr.handler.dataimport.SolrWriter.upload(SolrWriter.java:69)
at
org.apache.solr.handler.dataimport.DataImportHandler$1.upload(DataImportHandler.java:288)
at
org.apache.solr.handler.dataimport.DocBuilder.buildDocument(DocBuilder.java:317)
at
org.apache.solr.handler.dataimport.DocBuilder.doFullDump(DocBuilder.java:176)
at
org.apache.solr.handler.dataimport.DocBuilder.execute(DocBuilder.java:134)
at
org.apache.solr.handler.dataimport.DataImporter.doFullImport(DataImporter.java:332)
at
org.apache.solr.handler.dataimport.DataImporter.rumCmd(DataImporter.java:384)
at
org.apache.solr.handler.dataimport.DataImportHandler.handleRequestBody(DataImportHandler.java:190)
at
org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:135)
at org.apache.solr.core.SolrCore.execute(SolrCore.java:1188)
at
org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.java:303)
at
org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:232)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:619)
Here is my data-config.xml:
<dataConfig>
<dataSource type="JdbcDataSource"
driver="oracle.jdbc.driver.OracleDriver"
url="jdbc:oracle:oci:@orcl" user="..." password="..."/>
<document name="sharemy">
<entity name="gallery" pk="mygallery_id"
query="select * from mdp_share_my_search_view">
<field column="mygallery_id" name="id"/>
<field column="mygallrychanl_id" name="channelId"/>
<field column="mygallrycat_id" name="categoryId"/>
<field column="user_id" name="userId"/>
<field column="mygallry_name" name="galleryName"/>
<field column="photo_names" name="photoNames"/>
<field column="photo_descs" name="photoDescriptions"/>
<field column="hit_count" name="hitCount"/>
<field column="vote_count" name="voteCount"/>
<field column="rating" name="rating"/>
<field column="photo_tags" name="photoTags"/>
</entity>
</document>
</dataConfig>
and from my schema.xml:
<fields>
<field name="id" type="string" indexed="true" stored="true"
required="true" />
<field name="channelId" type="string" indexed="true" stored="true"
omitNorms="true"/>
<field name="categoryId" type="string" indexed="true" stored="true"
omitNorms="true"/>
<field name="userId" type="string" indexed="true" stored="true"
omitNorms="true"/>
<field name="galleryName" type="text" indexed="true" stored="true"/>
<field name="photoNames" type="text" indexed="true" stored="true"/>
<field name="photoDescriptions" type="text" indexed="true"
stored="true"/>
<field name="hitCount" type="sint" indexed="true" stored="true"/>
<field name="voteCount" type="sint" indexed="true" stored="true"/>
<field name="rating" type="sfloat" indexed="true" stored="true"/>
<field name="photoTags" type="text" indexed="true" stored="true"/>
<field name="allText" type="text" indexed="true" stored="false"
multiValued="true"/>
</fields>
<uniqueKey>id</uniqueKey>