在Cloudant中的Lucene查询字符串中搜索日期和时间
我试图在CloudAntNoSQL数据库中的索引中使用日期和时间编写索引和搜索。 当我只传递查询字符串中的日期时,它工作正常在Cloudant中的Lucene查询字符串中搜索日期和时间,lucene,cloudant,nosql,Lucene,Cloudant,Nosql,我试图在CloudAntNoSQL数据库中的索引中使用日期和时间编写索引和搜索。 当我只传递查询字符串中的日期时,它工作正常 created_date:[2015-08-16 TO 2015-08-27] 这将返回正确的结果,但在参数中包含时间时: created_date:[2015-08-16 07:38:00 TO 2015-08-27 07:38:02] 我得到一个错误: Cannot parse 'created_date:[2015-08-16 07:38:00 TO 2015-
created_date:[2015-08-16 TO 2015-08-27]
这将返回正确的结果,但在参数中包含时间时:
created_date:[2015-08-16 07:38:00 TO 2015-08-27 07:38:02]
我得到一个错误:
Cannot parse 'created_date:[2015-08-16 07:38:00 TO 2015-08-27 07:38:02]': Encountered " "TO" "TO "" at line 1, column 50. Was expecting one of: "]" ... "}"
在此之前,我还有一些查询参数,但以上是错误的要点
这是一个ApacheLucene查询字符串。发生这种情况的原因是什么?根据LuceneJava文档,日期格式应如下所示: 日期字段的格式应为1995-12-31T23:59:59Z “Z”表示UTC时间,是必填项 此格式派生为符合标准(ISO 8601)的格式,是一种 dateTime的规范表示形式的更严格形式 XML模式第2部分。例子 1995-12-31T23:59:59Z 1995-12-31T23:59:59.9Z 1995-12-31T23:59:59.99Z 1995-12-31T23:59:59.999Z 所以,你错过了日期和时间之间的“T”
有关详细信息:根据LuceneJava文档,日期格式应如下所示: 日期字段的格式应为1995-12-31T23:59:59Z “Z”表示UTC时间,是必填项 此格式派生为符合标准(ISO 8601)的格式,是一种 dateTime的规范表示形式的更严格形式 XML模式第2部分。例子 1995-12-31T23:59:59Z 1995-12-31T23:59:59.9Z 1995-12-31T23:59:59.99Z 1995-12-31T23:59:59.999Z 所以,你错过了日期和时间之间的“T”
更多信息:我用以下方法做了
created_date:["2015-08-16 07:38:00" TO "2015-08-27 07:38:02"]
并在cloudant中使用了关键字分析器
这个链接解释了一切
我是用下面的方法做的
created_date:["2015-08-16 07:38:00" TO "2015-08-27 07:38:02"]
并在cloudant中使用了关键字分析器
这个链接解释了一切