2012-02-05 65 views
3

我有一個Solr索引,每個文檔是事件的信息。在我的模式時間表是一個多值字段類型日期。 我想知道是否有可能在未來和最接近當前日期的時間日期 (多值字段中的任何日期)提升文檔? 我正在使用Dismax查詢和SolrNet客戶端API。Solr boost爲多值日期字段

回答

5

您可以使用Solr FunctionQuery - recip

實例功能查詢:

recip(ms(NOW/HOUR,_datefield_),3.16e-11,1,1) 

還可以閱讀相關FAQ:http://wiki.apache.org/solr/SolrRelevancyFAQ#How_can_I_boost_the_score_of_newer_documents

+0

感謝您的答覆,但它針對多值字段的工作? – Reza 2012-02-06 00:55:43

+0

首先,如果你正在一個領域進行比較;你寧願將它存儲爲幾行? – aitchnyu 2012-02-06 07:41:23

+1

如果我想用一個日期存儲一個事件,我必須稍後進行字段摺疊或分組,這使得它更難以處理。另一方面,一個事件可能只有一個日期和另一個數十個日期。這就是爲什麼有日期的最佳方式是使用多值字段。 – Reza 2012-02-06 16:57:26