在 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}"}}
更新:
即使您保留原始日期格式 (yyyy-mm-dd),范围搜索应该仍然有效。
如果您不将日期存储为整数,这应该是理想的情况,下面是您应该如何在 cloudant 中执行此操作
1) 编辑您的搜索索引以使用 KEYWORD 分析器,然后您也可以传递日期
?q=field_name:["2015-08-17" TO "2015-08-18"]
我个人使用多个分析器,其余字段为标准分析器,cloudant 中的日期字段为关键字
在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}"}}
更新:
即使您保留原始日期格式 (yyyy-mm-dd),范围搜索应该仍然有效。
如果您不将日期存储为整数,这应该是理想的情况,下面是您应该如何在 cloudant 中执行此操作
1) 编辑您的搜索索引以使用 KEYWORD 分析器,然后您也可以传递日期
?q=field_name:["2015-08-17" TO "2015-08-18"]
我个人使用多个分析器,其余字段为标准分析器,cloudant 中的日期字段为关键字