2010-03-01 65 views
3

如何在solr中存储日期范围?Solr日期范围存储帮助

我需要存储开始日期和结束日期。

可以说这是一个在一段时期内出租(开始和结束)的别墅。

我必须使用两个字段吗?

在搜索中,用户可以选择开始日期和结束日期,所以查询Solr的时候,我想我可以使用类似:

 date:[$start TO $end] 

但这仅查询一个领域,这是好的,但存储日期范围是我的问题。

嗯。

任何帮助?

谢谢

回答

6

是的,你需要两个字段。

查询必须在两个字段上。

实施例:

dateFrom:[$start TO $end] AND dateTo:[$start TO $end] 

这将意味着该对象的时间跨度将必须要搜索的时间跨度内完全落在(例如对象是1950 - 1960年和你搜索一九○○年至2000年)。

如果你只需要对象的时间跨度的任何部分落在搜索的时间跨度内(而你的情况很可能)是这样的:

dateFrom:[* TO $end] AND dateTo:[$start TO *] 

即该对象的时间跨度必须在搜索时间跨度结束之前开始,并且该对象的时间跨度必须在搜索时间跨度开始之后结束。这将从1900年到2000年找到一个对象,搜索1950-1960年。