Date Solr:查询从到日期范围包含用户输入的文档

Date Solr:查询从到日期范围包含用户输入的文档,date,solr,lucene,Date,Solr,Lucene,我想存储和查询包含“从开始到日期”范围的文档,该范围表示文档有效的时间间隔 lucene/solr文档中的典型用例解决了相反的问题:查询包含单个时间戳的文档,并且该时间戳包含在作为查询参数提供的日期范围中。(创建日期:[1976-03-06T23:59:59.999Z至*) 我想使用edismax解析器 我发现了ms()函数,在我看来,它只用于提高分数,而不是完全消除不匹配的结果 我找到了这篇文章,我所描述的问题据说很容易。。。(寻找1977年5月25日活着的人) 有没有更简单的方式来表达这样的

我想存储和查询包含“从开始到日期”范围的文档,该范围表示文档有效的时间间隔

lucene/solr文档中的典型用例解决了相反的问题:查询包含单个时间戳的文档,并且该时间戳包含在作为查询参数提供的日期范围中。(创建日期:[1976-03-06T23:59:59.999Z至*)

我想使用edismax解析器

我发现了ms()函数,在我看来,它只用于提高分数,而不是完全消除不匹配的结果

我找到了这篇文章,我所描述的问题据说很容易。。。(寻找1977年5月25日活着的人)

有没有更简单的方式来表达这样的意思


date_from_query:[valid_from_field TO valid_TO_field]比使用空间方法更有效?

最直接的方法是自己创建边界:

valid_from_field:[* TO date_from_query] AND valid_to_field:[date_from_query TO *]
。。这将为您提供
valid\u from\u字段
早于您正在查询的日期,而
valid\u to\u字段
晚于您正在查询的日期的文档,实际上,提取
valid\u from\u字段
valid\u to\u字段
之间包含的间隔。这假设两个字段都不是多值字段

我可能会将其添加为筛选查询,因为您不需要对其进行任何评分,并且您可能希望同时允许其他搜索查询