2010-03-01 60 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年。