我是solr的新手,所以我可能会遗漏一些非常明显的东西。似乎我的日期时间查询无法正确解析。例如,像这样的查询:
solr/select?q=last_updated:1995-12-31T23:59:59Z
导致以下结果:
org.apache.solr.common.SolrException: Invalid Date String:'1995-12-31T23' at org.apache.solr.schema.DateField.parseMath(DateField.java:161) at org.apache.solr.schema.DateField.toInternal(DateField.java:131) at org.apache.solr.schema.FieldType.getFieldQuery(FieldType.java:580) at org.apache.solr.search.SolrQueryParser.getFieldQuery(SolrQueryParser.java:201) at org.apache.lucene.queryParser.QueryParser.Term(QueryParser.java:1429)
似乎solr用冒号分隔查询,其余的日期都会丢失。我试过了 玩弄日期格式,这正是我观察到的行为。
答案 0 :(得分:2)
您需要将日期用双引号括起来。
例如。 last_updated:“1995-12-31T23:59:59Z”。
否则,此日期字符串将被标记化/分析。