【发布时间】:2015-09-30 17:07:21
【问题描述】:
在 json 文档中,我们有开始日期和结束日期。
例如:{"start-date" : "2014-12-05","end-date":"2015-03-15"}
我想检索开始日期和结束日期之间存在的记录。如何在cloudant lucene搜索中实现上述场景?
请帮帮我。
【问题讨论】:
标签: json lucene couchdb cloudant
在 json 文档中,我们有开始日期和结束日期。
例如:{"start-date" : "2014-12-05","end-date":"2015-03-15"}
我想检索开始日期和结束日期之间存在的记录。如何在cloudant lucene搜索中实现上述场景?
请帮帮我。
【问题讨论】:
标签: json lucene couchdb cloudant
如果您不将日期存储为整数,这应该是理想的情况,那么您应该在 cloudant 中这样做
1) 编辑您的搜索索引以使用关键字分析器,然后您也可以传递日期
?q=field_name:["2015-08-17" TO "2015-08-18"]
我个人使用多个分析器,其余字段为标准,cloudant 中日期字段为关键字
【讨论】:
这是一个我没有测试过的快速答案...
如果将日期存储为整数:
20141205
20150315
您应该能够对这些值执行范围查询。这是来自在线文档的 sn-p:
您还可以使用 范围=参数。例如;
?q=*:*&ranges={"price":{"cheap":"[0 TO 100]","expensive":"{100 TO Infinity}"}}
更新:
即使您保留原始日期格式 (yyyy-mm-dd),范围搜索仍应有效。
【讨论】:
The range operation works only if the indexed values are numbers.