Solr日期范围存储帮助

时间:2010-03-01 09:42:38

标签: java php sql database solr

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

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

让我们说它是一个别墅,在一段时期(开始和结束)出租。

我必须使用两个字段吗?

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

     date:[$start TO $end]

但是这只查询一个字段,这很好,但存储日期范围是我的问题。

Hmmmmm。

任何帮助?

由于

1 个答案:

答案 0 :(得分:6)

是的,你需要两个字段。

然后查询必须在两个字段上。

示例:

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

这意味着对象的时间跨度必须完全落在您搜索的时间范围内(例如,对象是1950-1960,而您搜索的是1900-2000)。

如果你只是需要对象的时间跨度的任何部分落在搜索的时间范围内(在你的情况下似乎很可能),例如:

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

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