将日期从Mysql导入Solr时缺少必填字段

将日期从Mysql导入Solr时缺少必填字段,mysql,datetime,solr,Mysql,Datetime,Solr,我很难让solr和mysql的约会玩得开心。如果我从模式中注释掉sent字段,一切正常。但是,只要我在date字段中重新添加,每个文档都会出现此错误 org.apache.solr.common.SolrException: [doc=116] missing required field: sent 下面是我如何配置solr的。我必须确保没有空/空日期,也没有空/空日期。我还尝试了dateTimeFormat=yyyy-MM-dd'T:hh:MM:ss,但没有设置dateTimeFormat

我很难让solr和mysql的约会玩得开心。如果我从模式中注释掉
sent
字段,一切正常。但是,只要我在date字段中重新添加,每个文档都会出现此错误

org.apache.solr.common.SolrException: [doc=116] missing required field: sent
下面是我如何配置solr的。我必须确保没有空/空日期,也没有空/空日期。我还尝试了dateTimeFormat=
yyyy-MM-dd'T:hh:MM:ss
,但没有设置dateTimeFormat。我还尝试了模式中发送类型的date和tdate

dataconfig.xml

<dataConfig>
    <dataSource driver="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/hoplite" user="root" password="root"/>
    <document>
        <entity name="document" query="select * from document">
            <field column="ID" name="id" />
            <field column="RAW_TEXT" name="raw_text" />    
            <entity name="email" query="select * from email where document_id='${document.id}'">                
                <field column="TIME_SENT" name="sent" dateTimeFormat="yyyy-MM-dd'T'hh:mm:ss'Z'"/> 
                <field column="BODY" name="body" />
            </entity>
        </entity>
    </document>
</dataConfig>
<dataConfig>
    <dataSource driver="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/hoplite" user="root" password="root"/>
    <document>
        <entity name="document" query="select * from document">
            <field column="ID" name="id" />
            <field column="RAW_TEXT" name="raw_text" />

            <entity name="email" query="select * from email where document_id='${document.id}'">                
                <field column="TIME_SENT" name="time_sent" dateTimeFormat="yyyy-MM-dd'T'hh:mm:ss'Z'"/>
                <field column="BODY" name="body" />
            </entity>
        </entity>
    </document>
</dataConfig>

schema.xml

   <field name="id" type="tint" indexed="true" stored="true" required="true" />
   <field name="raw_text" type="text_general" indexed="true" stored="false" required="true" multiValued="true"/>   

   <field name="sent" type="date" indexed="true" stored="true" required="true" /> <!-- Import succeeds if I comment this line out -->
   <field name="body" type="text_general" indexed="true" stored="true" required="true" /> 
   <field name="id" type="tint" indexed="true" stored="true" required="true" />
   <field name="raw_text" type="text_general" indexed="true" stored="false" required="true" multiValued="true"/>   

   <field name="time_sent" type="date" indexed="true" stored="true" required="true" /> <!-- Import succeeds if I comment this line out -->
   <field name="body" type="text_general" indexed="true" stored="true" required="true" />

显然,对于日期,字段名必须与列名相同。因此,将文件更改为下面的已修复问题。请注意,time_sent现在既是列名也是字段名

data-config.xml

<dataConfig>
    <dataSource driver="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/hoplite" user="root" password="root"/>
    <document>
        <entity name="document" query="select * from document">
            <field column="ID" name="id" />
            <field column="RAW_TEXT" name="raw_text" />    
            <entity name="email" query="select * from email where document_id='${document.id}'">                
                <field column="TIME_SENT" name="sent" dateTimeFormat="yyyy-MM-dd'T'hh:mm:ss'Z'"/> 
                <field column="BODY" name="body" />
            </entity>
        </entity>
    </document>
</dataConfig>
<dataConfig>
    <dataSource driver="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/hoplite" user="root" password="root"/>
    <document>
        <entity name="document" query="select * from document">
            <field column="ID" name="id" />
            <field column="RAW_TEXT" name="raw_text" />

            <entity name="email" query="select * from email where document_id='${document.id}'">                
                <field column="TIME_SENT" name="time_sent" dateTimeFormat="yyyy-MM-dd'T'hh:mm:ss'Z'"/>
                <field column="BODY" name="body" />
            </entity>
        </entity>
    </document>
</dataConfig>

schema.xml

   <field name="id" type="tint" indexed="true" stored="true" required="true" />
   <field name="raw_text" type="text_general" indexed="true" stored="false" required="true" multiValued="true"/>   

   <field name="sent" type="date" indexed="true" stored="true" required="true" /> <!-- Import succeeds if I comment this line out -->
   <field name="body" type="text_general" indexed="true" stored="true" required="true" /> 
   <field name="id" type="tint" indexed="true" stored="true" required="true" />
   <field name="raw_text" type="text_general" indexed="true" stored="false" required="true" multiValued="true"/>   

   <field name="time_sent" type="date" indexed="true" stored="true" required="true" /> <!-- Import succeeds if I comment this line out -->
   <field name="body" type="text_general" indexed="true" stored="true" required="true" />