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

Search within date range filtering in cloudant lucene search?

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

例如:{"start-date":“2014-12-05”,"end-date":“2015-03-15”}

我想检索开始日期和结束日期之间的记录-date.How 可以在 cloudant lucene 搜索中实现上述场景吗?

请帮帮我。

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

如果将日期存储为整数:

20141205
20150315

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

You can also perform range facet queries on numeric facets using the ranges= parameter. For example;

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

Source: https://cloudant.com/for-developers/search/

更新:

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

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

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

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

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