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>

Reply via email to