Lucene日期范围有多个出现

时间:2016-01-06 15:54:13

标签: java lucene range-query

我正在为医生规划申请。医生是具有ID,名称和计划集合的Java对象。 计划由{start_date,end_date,planning_type}描述。 日期格式为YYYY-MM-DD。 现在,考虑医生A有两个计划范围: (点击"运行代码片段"代码将规划视为HTML表格)



<table border="1">
<tr><th>start_date</th><th>end_date</th><th>type</th></tr>
<tr><td>2016-01-01</td><td>2015-01-05</td><td>night</td></tr>
<tr><td>2016-01-11</td><td>2015-01-15</td><td>night</td></tr>
</table>
&#13;
&#13;
&#13;

如果我们尝试检查这位医生是否在2016-01-07工作,那么查询应该如下所示:

+planning.start_date:[0 TO "2016-01-07"] +planning.end_date:["2016-01-07" TO A]

此查询将在结果集中返回医生A,但事实并非如此。实际上医生A不会上班,但是,由于Lucene存储收集的方式,这个查询与医生A匹配。

是否有办法(包括添加额外的字段,......)以使其按预期工作?

提前致谢。

1 个答案:

答案 0 :(得分:0)

如何为每个计划而不是每位医生制作Lucene文档?