我的SOlr模式中有以下字段定义
name="DvdReleaseDate" type="date " stored="true" required="false"
我的输入xml文件包含带DVDReleaseDate的电影名称。所以对于全新版本,此字段为空(aka null) 现在当我编制索引时,SOLR抛出了空值异常。
我的其他选择是什么?
基本上,我需要支持基于DVD发布日期和时间的查询。同时,空值是有效的用例。
我在solr架构中有以下内容
field name =“dvdReleaseDate”type =“date”stored =“true”required =“false”
异常详情
HTTP错误400 访问solr更新时出现问题。 原因:日期字符串无效:''
Sep 8, 2011 9:14:22 AM org.apache.solr.common.SolrException log
SEVERE: org.apache.solr.common.SolrException: Invalid Date String:''
at org.apache.solr.schema.DateField.parseMath(DateField.java:165)
at org.apache.solr.schema.TrieDateField.createField(TrieDateField.java:169)
at org.apache.solr.schema.SchemaField.createField(SchemaField.java:98)
at org.apache.solr.update.DocumentBuilder.addField(DocumentBuilder.java:204)
at org.apache.solr.update.DocumentBuilder.toDocument(DocumentBuilder.java:277)
at org.apache.solr.update.processor.RunUpdateProcessor.processAdd(RunUpdateProcessorFactory.java:60)
at org.apache.solr.handler.XMLLoader.processUpdate(XMLLoader.java:147)
at org.apache.solr.handler.XMLLoader.load(XMLLoader.java:77)
at org.apache.solr.handler.ContentStreamHandlerBase.handleRequestBody(ContentStreamHandlerBase.java:55)
at org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:129)
at org.apache.solr.core.SolrCore.execute(SolrCore.java:1360)
at org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.java:356)
答案 0 :(得分:7)
在没有dvdReleaseDate的情况下添加文档时,请勿在XML文档中包含该字段。 例如。而不是:
<add>
<doc>
<field name="id">123</field>
<field name="dvdReleaseDate"></field>
</doc>
</add>
做的:
<add>
<doc>
<field name="id">123</field>
</doc>
</add>