如何在solr中存储日期范围?
我需要存储开始日期和结束日期.
让我们说它是一个别墅,在一段时期(开始和结束)出租.
我必须使用两个字段吗?
在搜索中,用户可以选择开始日期和结束日期,所以在查询solr时我想我可以使用类似的东西:
date:[$start TO $end]
Hmmmmm.
有帮助吗?
谢谢
解决方法:
是的,你需要两个领域.
然后,查询必须在两个字段上.
例:
dateFrom:[$start TO $end] AND dateto:[$start TO $end]
这意味着对象的时间跨度必须完全落在您搜索的时间范围内(例如,对象是1950-1960,而您搜索的是1900-2000).
如果你只是需要对象的时间跨度的任何部分落在搜索的时间范围内(在你的情况下似乎可能),例如:
dateFrom:[* TO $end] AND dateto:[$start TO *]
即对象的时间跨度必须在搜索时间跨度结束之前开始,并且对象的时间跨度必须在搜索时间跨度开始后结束.这将找到一个1900-2000的对象,搜索1950-1960.