繁体   English   中英

DateType Solr索引错误

[英]DateType Solr Indexing Error

我使用DSE 3.2.0。 当我尝试在Solr的DateType列中建立索引(系统区域设置为GMT + 3)时,出现以下SOLR异常:

org.apache.solr.common.SolrException: org.apache.solr.common.SolrException: Invalid Date String:'2013-10-10 23:59:59+0300'
at com.datastax.bdp.cassandra.index.solr.CassandraDirectUpdateHandler2.deleteByQuery(CassandraDirectUpdateHandler2.java:230)
at com.datastax.bdp.cassandra.index.solr.AbstractSolrSecondaryIndex.doDelete(AbstractSolrSecondaryIndex.java:628)
at com.datastax.bdp.cassandra.index.solr.Cql3SolrSecondaryIndex.updateColumnFamilyIndex(Cql3SolrSecondaryIndex.java:138)
at com.datastax.bdp.cassandra.index.solr.AbstractSolrSecondaryIndex$3.run(AbstractSolrSecondaryIndex.java:896)
at com.datastax.bdp.cassandra.index.solr.concurrent.IndexWorker.run(IndexWorker.java:38)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:724)
Caused by: org.apache.solr.common.SolrException: Invalid Date String:'2013-10-10 23:59:59+0300'
at org.apache.solr.schema.DateField.parseMath(DateField.java:182)
at org.apache.solr.analysis.TrieTokenizer.reset(TrieTokenizerFactory.java:135)
at org.apache.solr.parser.SolrQueryParserBase.newFieldQuery(SolrQueryParserBase.java:409)
at org.apache.solr.parser.SolrQueryParserBase.getFieldQuery(SolrQueryParserBase.java:959)
at org.apache.solr.parser.SolrQueryParserBase.getFieldQuery(SolrQueryParserBase.java:574)
at org.apache.solr.parser.SolrQueryParserBase.handleQuotedTerm(SolrQueryParserBase.java:779)

架构如下:

<schema name="mach" version="1.1">
<types>
    <fieldType name="string" class="solr.StrField"/>
    <fieldType name="int" class="solr.TrieIntField"/>
    <fieldType name="date" class="solr.TrieDateField"/>
 </types>
 <fields>
    <field name="snapshot_date" type="date" indexed="true"  stored="true"/>
    <field name="account_id" type="string" indexed="true"  stored="true"/>
    <field name="account_type" type="string" indexed="true"  stored="true" />
  </fields>
  <uniqueKey>(snapshot_date, account_id)</uniqueKey>
  <defaultSearchField>account_id</defaultSearchField>
 </schema>

Solr在结尾使用ISO日期格式的特定子集:YYYY-MM-DDThh:mm:ssZ或ss.tttZ,禁止显示任何结尾的零。 仅支持GMT(“ Z”)。

因此,您的“ 2013-10-10 23:59:59 + 0300”值应表示为“ 2013-10-10T20:59:59Z”。

这是一个影响删除行重新索引的错误,将在DSE 3.2.3中修复。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM