在cloudant lucene搜索中的日期范围过滤中搜索?

时间:2015-01-21 06:34:52

标签: json lucene couchdb cloudant

在json文档中,我们有开始日期和结束日期。

例如:{"开始日期" :" 2014-12-05"," end-date":" 2015-03-15"}

我想检索开始日期和结束日期之间存在的记录。如何在cloudant lucene搜索中实现上面的场景?

请帮助我。

2 个答案:

答案 0 :(得分:3)

如果您不将日期存储为整数,这应该是理想情况,那么您应该如何在cloudant中执行此操作

1)编辑搜索索引以使用KEYWORD分析器,然后您也可以传递日期

?q=field_name:["2015-08-17" TO "2015-08-18"]

我个人使用多个分析器,其余字段的标准和cloudant中日期字段的关键字

答案 1 :(得分:1)

这是一个我没有经过测试的快速答案......

如果您将日期存储为整数:

20141205
20150315

您应该能够对这些值执行范围查询。以下是在线文档的摘录:

  

您还可以使用。在数字面上执行范围构面查询   范围=参数。例如;

?q=*:*&ranges={"price":{"cheap":"[0 TO 100]","expensive":"{100 TO Infinity}"}}
     

来源:https://cloudant.com/for-developers/search/

<强>更新

即使您保留原始日期格式(yyyy-mm-dd),范围搜索仍应有效。